Javascript 触发器单击具有特定类和属性的元素
我有一些与某个类相关的链接元素,并为其分配了行属性,我正试图根据属性值触发click事件Javascript 触发器单击具有特定类和属性的元素,javascript,jquery,html,Javascript,Jquery,Html,我有一些与某个类相关的链接元素,并为其分配了行属性,我正试图根据属性值触发click事件 | | |…这应该可以正常工作 $('a.manage_edit_nb[nb_id="1"]').trigger('click'); 这就是它的工作原理: 首先,nb\u id不是有效的属性,请使用数据id数据-*属性是允许的,我个人喜欢它们。并且,可以使用$.attr('data-id')方法访问它们,并且可以使用$.attr('data-id','new value')更新它们的值。回到问题,尝试
|
|
|…
这应该可以正常工作
$('a.manage_edit_nb[nb_id="1"]').trigger('click');
这就是它的工作原理:
首先,
nb\u id
不是有效的属性,请使用数据id
<代码>数据-*属性是允许的,我个人喜欢它们。并且,可以使用$.attr('data-id')
方法访问它们,并且可以使用$.attr('data-id','new value')
更新它们的值。回到问题,尝试使用下面的选择器
$('.manage_del_nb[data-id="1"]').get(0).click();
或
为什么
.get(0)
?假设元素已与绑定。单击(callback())
或。在('click')
上,.trigger('click')
将不起任何作用,因此我使用.get(0)
获取DOM对象,该对象具有模拟单击事件的方法。不管怎么说,您都可以使用trigger('click')
您已经在使用的方式上述代码尝试做的事情是在两个选择器上都触发一个click事件。manage\u edit\u nb'和.manage\u del\u nb'选择器,因此事件都在这两个选择器上发生。尽量给类名更具体一些,比如
$('a.manage_edit_nb[nb_id = "1"]').trigger('click');
我认为这正是您需要的:首先,将所有
nb\u id
更改为data-nb\u id
。并使用以下代码,需要jquery
$(document).ready(function() {
// Handle click event on the class required
$('.manage_edit_nb').click(function(){
// Get nb_id of that particular anchor event of the class
var nb_id= $(this).attr('data-nb_id');
// Switch on nb_id
switch(nb_id){
// Handle your cases separately here
case "1":
alert('Case 1');break;
case "2":
alert('Case 2');break;
case "3":
alert('Case 3');break;
}
});
});
仅供参考:
nb\u id
不是有效的属性还有,$('a.manage\u edit\u nb[nb\u id=“1”])
定义指定的行属性是否要单击一个定位点并触发另一个定位点?(例如,id='1'到id='1'),顺便说一句,id必须是唯一的,并且在id前面加上nb\u
只会使其无效(即不存在,在各个方面都非常错误)。是的,nb\u id无效!我应该用数据id替换它!是的,那太好了,我的眼睛都被这个nb\u
-\uz弄痛了-它确实工作得很好,但是单击事件与调用触发器不同:执行所有附加到给定事件类型的匹配元素的处理程序和行为。@Thomas OK,我已经修改了它:-)
$(document).ready(function() {
// Handle click event on the class required
$('.manage_edit_nb').click(function(){
// Get nb_id of that particular anchor event of the class
var nb_id= $(this).attr('data-nb_id');
// Switch on nb_id
switch(nb_id){
// Handle your cases separately here
case "1":
alert('Case 1');break;
case "2":
alert('Case 2');break;
case "3":
alert('Case 3');break;
}
});
});