javascript - 使用 .attr() 后无法找到 .find() 标记

标签 javascript jquery html

我使用 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/

相关文章:

javascript - 使用 Javascript 函数创建 DOJO 按钮会导致创建的按钮发生冲突

javascript - Selenium Ide : [error] Element css=div. alert.alert-success not found

javascript - 上传 <img> 到服务器而不通过 Canvas ?

javascript - 如果文档可以垂直滚动 200px 或更多运行函数

javascript - 网页在 IE 中呈现空白

php - 点击电话线路的通话时长

html - 从 iOS 更改 WebKit 中托管的网站的页面

javascript - Backbone 路由器不触发路由

javascript - 每 n 秒自动洗牌 div

javascript - WebRTC 视频不显示