jQuery的嵌套选择器获取文本不是孩子

时间:2019-02-11 17:11:01

标签: javascript jquery

如何访问关键字文本,例如java在单击“关键字删除类”时。

首先,不能在关键字删除范围内使用pip uninstall tensorflow-probability。 我想访问嵌套的选择器跨度文本。

$(this)

4 个答案:

答案 0 :(得分:1)

由于click事件在span上,因此它不能为空。如果为空,则无法单击它。在跨度中输入一些数据后,使用sibling功能选择span siblings并打印textContent。或者,可以使用.next代替siblings

$(document).on("click",".keyword-remove", function(){
   console.log($(this).siblings('span')[0].textContent)
   });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span class="keyword"><span class="keyword-remove">First span </span><span class="keyword-text">java</span></span>

答案 1 :(得分:1)

使用next()选择您单击的元素的下一个同级。

$(document).on("click",".keyword-remove", function(){
  console.log($(this).next('.keyword-text').text())
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span class="keyword">
  <span class="keyword-remove">REMOVE</span>
  <span class="keyword-text">java</span>
</span>

答案 2 :(得分:0)

您可以使用以下代码块-

$(document).on("click",".keyword-remove", function(){
  console.log($(this).next().find('.keyword-text').text())
});

工作示例- https://jsfiddle.net/0wmnxdrp/1/

答案 3 :(得分:0)

我个人将closest()与后面的find()配对使用。原因是,这从等式中删除了位置逻辑,而您仅依靠父子关系。

$(document).on("click",".keyword-remove", function(){
  console.log($(this).closest('.keyword').find('.keyword-text').text());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span class="keyword">
  <span class="keyword-remove">X</span>
  <span class="keyword-text">java</span>
</span>