我有这段代码,但不起作用。
.on("click","span.name", function selectThisName(e) {
if (e.altKey) {
username = jQ(this).text();
if (username != 'None') {
jQ("span.name:contains('" + username + "')").closest('.namedesign').prev().prev().attr('checked', 'checked');
e.preventDefault();
updateCheckedCount();
}
}
}
以前可以用,但现在不行了。如果我按住 Alt 键并单击相同的三个或四个垃圾邮件发送者名称,它应该会更快地选中发帖字段旁边的所有框。
但是,我也有这段代码,它非常有效。它专注于唯一的用户识别;该元素本身包含标识,与“基于文本”的用户名不同。这是该网站的代码:http://puu.sh/9wxbw/03cb74487e.png
.on("click","span.ident", function selectThisID(e) {
if (e.altKey) {
identification= "id_" + jQ(this).text();
jQ("span." + identification).closest('.namedesign').prev().prev().attr('checked', 'checked');
e.preventDefault();
updateCheckedCount();
}
})
在这种情况下,我想按住“heartbreaker”这个名字来检查他们的所有帐户帖子,但它不起作用。但是,如果我按住 ID 键并单击该 ID,它就会起作用。
为什么我需要这个? 好吧,有时我必须选择姓名而不是身份证明。 ID 是基于 IP 的(并且它们总是会变化,否则人们无法发送垃圾邮件),而名称则不然,许多用户帐户已被劫持。
最佳答案
使用 .prop('checked', true) 代替
.attr('checked', 'cheked')
示例:JS Bin
编辑:
您可以在没有 jQuery 的情况下设置 checked
属性:
$('input:checkbox').each(function(){
//Get your input of type checkbox and set his property `checked` to boolean value:
//Note: this is <input type='checkbox'>
var isChecked = this.checked;
this.checked = !isChecked;
//Or using jQuery variable:
$(this)[0].checked = true;
});
关于jquery - .attr ('checked' 、 'checked' )无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24251940/