2016-01-22 112 views
1

我想獲得兩個元素<p><b>之間的文本,但不起作用,它是如何工作的?jQuery獲取元素之間的文本

$("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>

+5

'$( '本')'應該是'$(本)','因爲是this'一個關鍵字,而不是一個字符串。您試圖選擇標籤類型爲「」的元素.. –

回答

2

使用$(this)而不是$('this')沒有引號。

this是一個可用的對象,而不是一個字符串選擇器。

見更正下面的例子:

$("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>