我有一个带有文字和锚点的段落。
在段落中给定一个锚$myAnchor
,我可以得到紧随其后的一个:
$nextAnchor = $myAnchor.next('a');
如何在这两个锚点之间获取文本/ HTML?
答案 0 :(得分:2)
你走了:
$myAnchor[0].nextSibling.nodeValue
现场演示: http://jsfiddle.net/3Xp6G/1/
因此,nextSibling
将为您提供对下一个兄弟节点(这是一个Text节点)的引用,然后nodeValue
将返回该Text节点的文本内容。
在[0]
之后需要$myAnchor
因为nextSibling
是DOM节点的属性,而不是jQuery对象,[0]
从jQuery对象返回第一个DOM元素。
您最后还可以使用.trim()
来摆脱无用的空白区域(如果有的话)。
答案 1 :(得分:0)
答案 2 :(得分:0)
要获得2个锚之间的文本o可以做这样的事情。
var a1 = $('#anchor1');
var a2 = $('#anchor2');
var contents = a1.parent().contents();
var s, e;
for(var i = 0; i<contents.length; i++){
if($(contents[i]).is(a1)){
s = i
}
if($(contents[i]).is(a2)){
e = i
}
}
var text = contents.slice(s + 1,e).text().trim();
如果你知道中间只有一个元素你可以使用所描述的nextSibling
方法。