jQuery在元素之间获取文本

时间:2016-01-22 21:07:45

标签: javascript jquery

我希望在两个元素<p><b>之间获取文字,但不起作用,它是怎么回事?

$("div").each(function() {
  var num = $('this').find('p').text();
  var ost = $('this').find('b').text();
  alert(num+' - '+ost);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <p>1</p>
  <b>Minifier</b>
</div>
<div>
  <p>2</p>
  <b>bold</b>
</div>
<div>
  <p>3</p>
  <b>backtick</b>
</div>

1 个答案:

答案 0 :(得分:2)

在没有引号的情况下使用$(this)代替$('this')

this是一个可用对象,而不是字符串选择器。

见下面的更正示例:

&#13;
&#13;
$("div").each(function() {
  var num = $(this).find('p').text();
  var ost = $(this).find('b').text();
  alert(num+' - '+ost);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <p>1</p>
  <b>Minifier</b>
</div>
<div>
  <p>2</p>
  <b>bold</b>
</div>
<div>
  <p>3</p>
  <b>backtick</b>
</div>
&#13;
&#13;
&#13;