在jQuery的.each()方法中,返回'this'关键字的对象是什么类型?

3

我已经测试了几个小时用于遍历DOM的不同代码。

$(element).children('.classelement').each(function(){
    alert(this) // returns "object HtmlDivElement"
    alert(this.lastChild) // returns "object Text"

    // NOTE: The last child is a <a> element
});

为什么this.lastChild返回Text对象?如果this返回一个DOM对象,为什么lastChild不是?

接下来我有一个问题:在.each中,this返回哪种类型的对象?

在这种情况下,我该如何获取一个DOM对象?


1
如果在<a>后面有一个空格,它可以是一个文本节点。 - OneOfOne
1个回答

5

lastChild 方法返回元素内最后一个任意类型的节点(包括文件中写入的空格、制表符或换行符)。如果您需要在元素内获取最后的HTMLElement,则应使用lastElementChild 方法。


е°† lastChild ж›їжЌўдёє lastElementChildпјЊиї™е°†иї”е›ћ <a> зљ„ hrefпјЊдёєд»Ђд№€пјџ - yukatta
1
实际上,a 元素的 toString() 方法会返回它的 href。如果您执行 alert(this.lastElementChild.textContent),则可以获取 a 标签内的文本内容。 - Teemu
你说得对,这让我意外,但它有效。谢谢 :-) - yukatta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接