2013-11-04 41 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起。

相关问题