asp.net我有很多个按钮 都是客户端控件 这些按钮都绑定了同一个方法 我在方法里面写了一个
if ($("#a").click(function () {}))
{
$("#a").attr("disabled", "true");
}
点a按钮的时候就执行这个方法 但是我发现如果点击c按钮 那么这个a按钮就被禁用了 为什么? 用jquery 或者js 解决都可以
------解决思路----------------------
这个写法就可以
------解决思路----------------------
感觉楼主说的或混乱,可以这么写:
所有botton用一个class,如 btntest,写
$(function(){
$('.btntest').click(function(){
if($(this).attr('id') == 'a'){
$(this).attr("disabled", "true");
}
});
});
如果你所有的按钮在页面或者div里没有重复的话,直接写元素类型也可以
------解决思路----------------------
当你写
if(x)
{
y;
}
的时候,就是在判断x是否已经被定义,如果已经定义则执行y;如果x没有被定义,那么就不执行y。
因此如果你在你的代码中设置断点然后调试执行,例如

$("#a").click(function () {})这个表达式永远都会返回一个对象,所以if条件判断永远都成立。
------解决思路----------------------
嗯,lz可能就是这个意思,只是对javascript的if语句的理解有误。
但是这样写肯定也是不对的。可以简单地调试一下看看:

可以看到,代码this实际上是window,而另一个写法

你自己设置2、3个断点然后使用vs开发工具来单步跟中调试一下,就知道为什么了。
从你贴出的这个代码可以看出,你不太容易沉下心来理解原理,而是把时间都用来进行各种”瞎试代码“。编程应该会(随便找个纸和笔来)画流程图,并且会用调试器,而你两种必要的技能都不会,仅仅会把别人的代码任意地贴过来运行,这样做毫无程序设计效率,会浪费许多人的时间和生命。