2013-11-04 80 views
2

我的應用程序中有以下代碼。在兩個元素之間獲取文本JQUERY

<div title="Please Click Here to Expand" class="technology3 closedlanguage" headerindex="0h"> 
<span class="accordprefix"> 
<img src="http:www.test.com/expanded.gif" style="width:13px; height:13px; margin-Right:20px"> 
</span> 
    Need this text<span class="accordsuffix"></span></div> 

我需要得到「accordprefix」和「accordsuffix」類,這是「極品本文」

爲了這個,我沒有下面的代碼之間的文本。

$(window).load(function(){ 
$(".accordprefix").each(function(){ 
alert($(this).next().html()); 
}); 
}); 

但它不工作。請給出任何建議。

+0

因爲它沒有包裝在特定的對象中,所以它在'.accordprefix'範圍的父元素內。你可以做'$(「。accordprefix」)。each(function(){$(this).parent()。html();});'然後你需要過濾掉所有其他的HTML需要。 – Nunners

+0

你有多個accordprefix和accordsuffix元素? –

回答

5

怎麼樣:

console.log($('.technology3').text()); 

,因爲它是在周圍div唯一的文本內容,將工作。

2
$('.technology3).text().trim(); 

你想打電話給trim()清除它周圍的垃圾空白。

1

試試這個,如果div.technology3多個,

$(".accordprefix").each(function(){ 
    alert($(this).closest('.technology3').text());// get the closest div.technology3 text 
}); 

閱讀closest()text()

如果div.technology3是單身那就試試這個,

alert($('.technology3').text()); 

Demo

5

您可以在LSO看看

$.trim($($('.accordprefix')[0].nextSibling).text()) 

演示:Fiddle

1

試試這個:

$文本();(」技術3' )。

0

我會添加2個標記(只是一個像'~~~~'這樣的小字符串)。第一個AFTER span.accordprefix,第二個BEFORE span.accordsuffix。然後我們需要獲得div.technology3的文本內容,在我們的標記之間找到文本並將其存儲。然後,我們需要刪除標記。

檢查.after() and .before()

0

可以做到這一點使用jQuery .nextUntil()

$("#id_of_first_ele").nextUntil("#id_of_second_ele").text().trim() 

所以你的情況這將是

$(".accordprefix").nextUntil(".accordsuffix").text().trim() 

這將工作的jQuery 1.4起。

相關問題