是否有可能找到元素的父元素然后导航DOM?

时间:2012-12-01 04:32:19

标签: javascript jquery

使用jQuery时如何返回导航DOM。例如,如果我找到了这样一个项目的父项:

$(this).parent()

你怎么能找到id为'foobar'的东西。 我试过了:

$(this).parent().$('foobar').addClass('hello')

但是我收到了消息:

Uncaught TypeError: Object [object Object] has no method '$'

2 个答案:

答案 0 :(得分:1)

ID必须是唯一的,要按ID选择元素,您可以使用ID选择器$('#foobar'),但是如果要在父元素中找到元素,可以使用find方法:

$(this).parent().find('#foobar').addClass('hello');

与以下内容相同:

$('#foobar').addClass('hello');

请注意,如果您使用多个元素的ID,那么您的文档无效,您应该使用类。

$(this).parent().find('.foobar').addClass('hello');

答案 1 :(得分:0)

虽然id应该是唯一的,所以你可以document.getElementById("foobar")我必须先找到多次出现并使用它:

/* returns an array of all elements with id */
function getElementsById(id){
  var t=document.getElementsByTagName("*"),a=[]
  for(var i=0;i<t.length;i++)
    if(t[i].id==id)a[a.length]=t[i]
  return a
}

注意:如果您正在编写新代码,则类具有内置的getElementsByClassName(因为它应该具有倍数)

编辑:这可以缩减为document.querySelectorAll("#id")