如何在jQuery中单击具有数据属性的LI的子级?
我希望jQuery(模拟)单击一个数据属性为product的LI中的单选按钮。下面的代码不起作用。任何帮助都将不胜感激如何在jQuery中单击具有数据属性的LI的子级?,jquery,Jquery,我希望jQuery(模拟)单击一个数据属性为product的LI中的单选按钮。下面的代码不起作用。任何帮助都将不胜感激 var clicky = 1234; var selector = 'li[data-product="' + clicky + '"].radio'; jQuery(selector).trigger('click'); 您需要显示实际的HTML,因为根据DOM情况可能会略有不同,但是您的所有选择器都在同一个元素上操作,而不是在一个元素及其子体上操作。只需在选择器之间添加
var clicky = 1234;
var selector = 'li[data-product="' + clicky + '"].radio';
jQuery(selector).trigger('click');
您需要显示实际的HTML,因为根据DOM情况可能会略有不同,但是您的所有选择器都在同一个元素上操作,而不是在一个元素及其子体上操作。只需在选择器之间添加一个空格,它们就是后代选择器 尝试以下方法:
var clicky = 1234;
var selector = 'li[data-product="'+clicky+'"] .radio';
jQuery(selector)[0].click(); // Trigger native click event
或
基本上,您在.radio
之前缺少一个空格。当前,您正在尝试单击子体上的LI
或者可能
var selector = 'li [data-product="'+clicky+'"].radio';
如果按钮包含数据(在
LI
之后缺少空格)。如果是动态元素,请使用委托事件
绑定。如果元素存在于DOM中,则可能会重复您拥有的内容。你对代码有什么特别的问题吗?查看HTML可能有助于我们发现问题。您的描述表示层次结构,但您的选择器假定数据产品
,以及.radio
类都位于LI
元素上。试着按照下面的例子使用后代选择器,当你问这样的问题时,请发布你的HTML:)我已经处理好了:jQuery(选择器).children(“输入[type=radio]”。单击();执行与选择器相同的操作(仅更长)。下次也请提供HTML:)
var selector = 'li [data-product="'+clicky+'"].radio';