我希望在两个元素<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>
答案 0 :(得分:2)
在没有引号的情况下使用$(this)
代替$('this')
。
this
是一个可用对象,而不是字符串选择器。
见下面的更正示例:
$("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;