除了最后和倒数第二个孩子之外,我如何获得元素的内容(内部html)?

时间:2012-06-19 06:01:45

标签: jquery

所以我有这样的事情:

<span class="a"> Contents <span class="b">Herp</span><br></span>

... “内容”可能会从字符串,到单张图片多个换行符 。我需要将“内容”定义为变量,而不是获取b.span和br。

你是怎么做到的?非常感谢你提前!

6 个答案:

答案 0 :(得分:2)

使用.contents()获取所有内容,然后应用.slice() method切掉最后两个内容:

$("span.a").contents().slice(0,-2)

答案 1 :(得分:1)

alert($('span.a').text()); //will alert 'Contents'

答案 2 :(得分:1)

var clone = $('span.a').clone();
$('span.b', clone).remove();
var text = clone.text();
console.log(text);

答案 3 :(得分:0)

如果您想要除最后两项之外的所有内容,请尝试:

var $content= $(".a").contents();

var htmlnodes = $content.filter(function(ndx) {
  return (ndx < $content.length -2);
});

    console.log(htmlnodes);​

答案 4 :(得分:0)

您可以将元素A粘贴在变量中。

var $a = $('.a').children().remove();
alert($('.a').html().append($a));​​

在这个例子中,我们并没有对应该删除或切片的元素数量进行硬编码。它稍微优雅一点。

答案 5 :(得分:0)

var c = $('.b').nextAll('br').remove().end().parent().find('.b').remove().end().html();
alert(c)

here