当在jQuery中遍历DOM时,我怎么知道我在哪个节点上?
问题描述:
如果我使用jquery遍历DOM,有没有办法输出我正在使用的标签类型?当在jQuery中遍历DOM时,我怎么知道我在哪个节点上?
标签不具有ID的,所以我不能做:
.attr("id")
我想到的只是提醒这个值,所以我知道大概我上标签。
答
您使用tagName
获得标签:
$('.class').get(0).tagName;
或者
$('.class')[0].tagName;
请记住这个来自DOM元素,而不是从jQuery选择。
答
你也可以高亮显示当前的元素,例如通过添加覆盖其背景颜色或边框的CSS类...
答
如果你使用next()和previous()来遍历DOM,你通常应该知道接下来要做什么样的元素。如果你不知道,你也可以提供选择,以这两种方法跳到你知道你什么正在寻找:
$('currentElement').next('div')
您可以使用该标记名属性从DOM元素像其他的答案,但你也可以做这样的事情,如果你知道你期待什么,并正在核实一切都没有改变:
var $next = $('currentElement').next();
if ($next.is('a')) { ... }
所以,你可以检查您发现该元素是否是你期待在那里的元素, is()也需要选择器,因此您可以测试ID或类。
我不确定你是如何穿越DOM的。你是否已经选择了一组元素?你是否使用'$('body')。children()'或'$('*')'来抓取所有内容?代码中的这一点是什么导致的? – 2010-08-20 16:27:17
我在一个像$(“#blah”)这样的点,然后我在做下一个,或者之前的等等。 – Blankman 2010-08-20 16:30:15