我使用 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()
最佳答案
The jQuery method
end()
Description: End the most recent filtering operation in the current chain and return the set of matched elements to its previous state.
您可以使用 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>
关于javascript - 使用 .attr() 后无法找到 .find() 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42086820/