<script language="javascript" type="text/javascript">
function hasPasswordChanged(value)
{
if(value == '1')
{
var container = document.getElementById("sNav");
if(document.getElementsByTagName)
{
var hyperLinkList = container.getElementsByTagName("a");
for(var currentLink in hyperLinkList)
{
hyperLinkList[currentLink].disabled = true;
hyperLinkList[currentLink].onclick =function () { return false;}
}
}
}
}
window.onload = function ()
{
hasPasswordChanged('<% = HasPasswordAlreadyChanged %>');
}
</script>
答案 0 :(得分:10)
假设我是正确的,如果密码已经改变(1为真),你想要禁用页面上的导航链接。
$(function() {
var changed = <%= HasPasswordAlreadyChanged %>;
if (changed) {
$('#sNav a').attr('disabled','disabled')
.click( function() { return false; } );
}
});
答案 1 :(得分:1)
function hasPasswordChanged(value)
{
if(value == '1')
{
$('#sNav a').attr('disabled', 'true').click(function(){ return false; });
}
}
$(function(){
hasPasswordChanged('<% = HasPasswordAlreadyChanged %>');
})
或者有点啰嗦:
$(function(){
<% = HasPasswordAlreadyChanged %> == 1 ? $('#sNav a').attr('disabled', 'true').click(function(){ return false; }) : "";
});
答案 2 :(得分:1)
<script language="javascript" type="text/javascript">
$(function(){
if ('<% = HasPasswordAlreadyChanged %>' == '1') {
$("#sNav").find("a").attr("disabled","disabled").click(function(){return false;});
}
});
</script>
答案 3 :(得分:0)
假设HasPasswordAlreadyChanged为0或1(或flase / true)
jQuery(function($){
!!<%= HasPasswordAlreadyChanged %> && $("#sNav a").attr("disabled",true).click(function(){return false;})
})
此外,A元素上的禁用属性是否会以任何方式影响它?
答案 4 :(得分:0)
function hasPassWordChanged(value) {
if (value == '1') {
$("#sNav a").attr("disabled", true).click(function() {return false;});
}
}
$(function() {
hasPasswordChanged('<% = HasPasswordAlreadyChanged %');
});
这将选择作为标识为a
的节点的子节点的所有sNav
标记,将其所有已禁用的属性设置为true,并设置要在click事件上调用的指定的返回false函数。
最后一部分,使用指定函数调用$()
,在DOM准备好处理时运行该函数,并且在传递函数时是$(document).ready()
的同义词。您也可以使用window.onload
设置替换此设置,但使用jQuery更适合使用$()
。
答案 5 :(得分:0)
当你的JavaScript工作时,将它转换为jQuery可能没有任何价值,冒着引入任何错误的风险。
我唯一可以考虑的是使用jQuery的事件处理而不是明确使用 window.onload :
function hasPasswordChanged() {
// unchanged
}
$(document).ready(function() {
hasPasswordChanged('<% = HasPasswordAlreadyChanged %>');
});