簡而言之,當ASP.NET頁面有<form runat=server>
標籤時,它打破了一些jQuery腳本。這裏有一個例子:ASP.NET <form runat = server>打破了jQuery
我有一個非常簡單的頁面只有一個複選框,這樣的:
<input type="checkbox" id="myCheckbox01" />
,並像這樣一個jQuery函數的調用:
<script language=javascript>
$(document).ready(function() {
$("[type=checkbox]").iphoneStyle();
});
</script>
請注我沒有特別引用任何ID。 jQuery調用適用於頁面中的所有複選框。
這工作正常,並且jQuery調用按預期工作。但是......
當我附上的複選框以ASP.NET的形式,象下面這樣:
<form runat="server" id="form1">
<input type="checkbox" id="myCheckbox01" />
</form>
jQuery的電話停止工作,而我得到的JavaScript錯誤「對象不支持財產或方法'iphoneStyle'「。
請再次注意,我沒有引用任何特定的ID,複選框也不是ASP.NET(runat = server)控件 - 它只是一個普通的舊複選框。
我似乎無法跟蹤這個問題。任何幫助將不勝感激。
您是否嘗試查看選擇器是否正常工作? 'console.log($(「[type = checkbox]」));' – JoeFletch
是的,選擇器正在工作。儘管如此,我使用了不同的方法來測試它。我將這個調用改爲'$(「[type = checkbox]」)。hide();'並且複選框被隱藏了。 –
即使您的選擇器正在工作,我建議將它更改爲'$('[type =「checkbox」]')。從性能角度來看,如果您不直接選擇ID,則可以使用容器。像'$('#form1 input [type =「checkbox」]')。' – Johan