Javascript 如何使用jquery选择器获取第三个或第四个元素并设置其id
我想获取第三个或第四个元素并设置其id 我发现:Javascript 如何使用jquery选择器获取第三个或第四个元素并设置其id,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我想获取第三个或第四个元素并设置其id 我发现: $('#menu li:first').attr('id', 'test') 它实际上在工作,但我只得到第一个元素。另一方面,我尝试使用以下方法,但它不起作用 $('#menu li').get(0).attr('id', 'test') 有人能解释一下如何获得想要的元素吗?(例如4或5)并设置它的id以及为什么第二组代码不起作用?尝试使用.eq函数 $('#menu li').eq(4).attr(...) 或 另一方面,get(0)返回
$('#menu li:first').attr('id', 'test')
它实际上在工作,但我只得到第一个元素。另一方面,我尝试使用以下方法,但它不起作用
$('#menu li').get(0).attr('id', 'test')
有人能解释一下如何获得想要的元素吗?(例如4或5)并设置它的id以及为什么第二组代码不起作用?尝试使用
.eq
函数
$('#menu li').eq(4).attr(...)
或
另一方面,get(0)返回一个DOM元素,而不是jQuery对象。您可以使用eq()
方法:
$('#menu li').eq(2).attr('id', 'third') // selects third element
$('#menu li').eq(3).attr('id', 'fourth') // selects fourth element
或
eq()
或:eq()
都采用目标元素的参数索引,并且始终为
targetElementIndex-1
。因为它是零基的
所以,如果你的目标是第四或第五个元素,那么你必须给出参数3和4
选择id为“菜单”的元素
或
选择它的所有子体和
$('#menu li').eq(3)
选择第四个(从零开始标记)
还请注意
$('#menu li')[3]
将获取HtmleElement本身,而不是其jQuery包装器。如注释中所述,get()返回DOM元素 可以在不使用jquery的
attr()
的情况下设置元素的id
.get()
函数返回DOM元素本身,而不是包含DOM元素的jQuery对象,因此不能对其调用jQuery函数(例如.attr()
)。正如答案已经指出的那样,.eq()
函数就是用于此目的的。为了记录在案,下面的两个答案都是正确的,如果你想知道为什么get
没有给你想要的东西,那是因为get
函数返回的是本机domeElement
,而不是包装的jQuery集。你如何将相同的id分配给两个不同的元素?@thecodeparadox,是的,id应该彼此不同。你确定eq(4)和eq(5)吗
目标第三个和第四个元素?我认为它应该针对第五和第六个元素。不,我确信您正在仔细检查ma代码:),谢谢。
$('#menu li').eq(3).attr('id', 'id_4');
$('#menu li').eq(4).attr('id', 'id_5');
$('#menu')
$('#menu li')
$('#menu').find('li')
$('#menu li').eq(3)
$('#menu li')[3]
$('#menu li').get(3).id = 'test';