我刚刚开始使用JQuery,我需要更改两个元素的css类并删除它们的onclick事件处理程序。JQuery从父元素中选择基于多个类的子元素
当单击upDown类中的三个元素中的任何一个时,会弹出一个弹出窗口。当点击该弹出框中的按钮时,将调用vote_click()。
我需要禁用类“向上”和“向下”,但没有其他人的元素。
<div class="upDown">
<div class="up" id="ctl04_btnUp" onclick="lastClick=this;" ></div>
<div class="com" id="ctl04_btnCom" onclick="lastClick=this;"></div>
<div class="down" id="ctl04_btnDown" onclick="lastClick=this;"></div>
</div>
这是我尝试
var lastClick; //will be set to either the "up" or "down"
function vote_click() {
if (lastClick && lastClick.className != "com") {
$("#"+lastClick.parentElement.id + " > .up .down").each(
function(index, e) {
alert('disabled ' + this.id);
this.onclick = null;
this.className += '-ya';
}
);
lastClick = null;
}
}
我明明不知道我这样做对我的做法任何一般性意见,将不胜感激。
刚刚看到您的编辑。感谢您的解释。我渴望使用内联onclicks,但他们有选择地生成服务器端。有些群体得到他们,有些则没有。你会建议我为父元素添加一个虚假的类,用于应该点击启用的元素,并使用修改后的事件挂钩方法,例如你所取得的方法,或者让它们内联。我从来没有真正理解为什么内联声明不如代码美学那么不可取。 – Laramie 2010-06-25 04:51:41
@Laramie看到我的编辑。 – 2010-06-25 06:12:39
A +1为详尽解释和建议阅读。 – Laramie 2010-06-25 06:35:34