text()也返回子文本

时间:2015-05-13 19:27:22

标签: text return innerhtml

http://jsfiddle.net/Lc5gdvge/

在上面的小提琴中,我展示了如何text(),返回元素文本和儿童'同样。我该如何避免这种情况,只能让它返回" outerdiv"?

注意:只需单击蓝色容器即可调用功能。

$(document).ready(function() {
    $('.outerdiv').click(function() {
        var htmlstring = $(this).text();
        alert(htmlstring);
    })
});

注2:这必须不使用ID选择器。

1 个答案:

答案 0 :(得分:0)

要仅获取.outerDiv而不是子元素的文本,请使用以下代码:

$(this).clone().children().remove().end().text();

这是做什么的,它克隆元素,删除所有子标签,然后返回到选定的标签并获取文本。

最终代码应如下所示:

$(document).ready(function () {
  $('.outerdiv').click(function () {
    var htmlstring = $(this).clone().children().remove().end().text();
    alert(htmlstring);

  });
});