我正在尝试在跨度之外获取文本,但我只能在跨度内获取文本。
<span class="text"> some text </span> text I want
我怎样才能得到“我想要的文字”
我正在使用jQuery,但它只获得“一些文字”
a = $('.text').contents().filter(function () {
return this.nodeType == 3;
}).text();
答案 0 :(得分:2)
你必须在span的父级上使用它。 http://jsfiddle.net/euvKK/
$(document).ready(function() {
var a = $(".parent").contents().filter(function() {
return this.nodeType == 3;
}).text();
alert(a);
});
答案 1 :(得分:2)
尝试这个...
<div id="foo"><span>hello</span>i want</div>
$(document).ready(function(){
$value=$("#foo")
.clone() //clone the element
.children() //select all the children
.remove() //remove all the children
.end() //again go back to selected element
.text();
alert($value);
});
jsfiddle http://jsfiddle.net/qrASy/谢谢...
答案 2 :(得分:0)
这将为您提供不在元素内的所有文本。
HTML
<div>
<span class="text"> some text </span> text I want
<br/>
<div id="here"></div>
</div>
JS
a = $('.text');
$('#here').html(textAfter(a));
function textAfter(obj){
var p=$(obj).parent();
// alert(/<\/\w+>(\s*[\w+\s+]+)<\w+>/.exec(p.html()));
return p.html().match(/<\/\w+>(\s*[\w+\s+]+)<\w+>/)[1];
}
答案 3 :(得分:0)
$('.parentClass:not(span)').method
这将获得除了跨度之外的所有内容,这就是您正在寻找的内容。