我使用jQuery和node-horseman
点击一个页面,我基于此页面的data-id
,传递给我的应用程序以查找li
标记有此属性:
jQuery('#manage-alerts-div li').attr('data-id', this.feedID)
但我需要在此li
内找到另一个标记,并在此之后添加.find()
,只返回一个空白链接,我看不到它的HTML内容。
jQuery('#manage-alerts-div li').attr('data-id', this.feedID).find('.delete_button').click()
答案 0 :(得分:3)
此代码将起作用::
jQuery('#manage-alerts-div li[data-id="' + this.feedID + '"]').find('.delete_button').click();
答案 1 :(得分:2)
jQuery方法
end()
描述:结束当前链中最近的过滤操作,并将匹配元素集返回到先前的状态。
您可以使用jQuery方法 end()
,如:
jQuery('#manage-alerts-div li').attr('data-id', this.feedID).end().find('.delete_button').click();
______________________________________________________________^^^^^
如果您想按data-id
进行搜索,则可以使用:
$('#manage-alerts-div li[data-id='+this.feedID+']').find('.delete_button').click();
希望这有帮助。
$('.delete_button').click(function(){
console.log($(this).closest('li')[0].outerHTML);
})
var feedId = 20; //Should be 'this.feedID' in your case
$('#manage-alerts-div li[data-id='+feedId+']').find('.delete_button').click();

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id='manage-alerts-div'>
<li data-id='10'>Text 1 <button class='delete_button'>delete button 1</button></li>
<li data-id='20'>Text 2 <button class='delete_button'>delete button 2</button></li>
<li data-id='30'>Text 3 <button class='delete_button'>delete button 3</button></li>
</ul>
&#13;