我有简单的清单:
<ul id="tabs_nav">
<li id="t_00">data</li>
<li id="t_01">data</li>
<li id="t_02">data</li>
<li id="t_03">data</li>
</ul>
现在:我如何获取第一个元素的html,具体取决于ID。我想补充说,只需点击按钮,所有ID都会动态变化。这是我的代码:
btn.on('click',function(){
var ladder_nav_tabs = $('#tabs_nav'),
first_ladder_element_inset_id = ladder_nav_tabs.find('li').first().attr('id'),
first_ladder_element_inset_html = ladder_nav_tabs.find(first_ladder_element_inset_id).html();
console.log(first_ladder_element_inset_html);
});
寻求帮助。
答案 0 :(得分:6)
似乎你错过了id选择器#
。
您正试图从选择器中获取html:
ladder_nav_tabs.find(first_ladder_element_inset_id).html();
这不起作用,因为id选择器需要#
。像这样:
ladder_nav_tabs.find("#" + first_ladder_element_inset_id).html();
请尝试以下操作来修复您的代码:
btn.on('click',function(){
var ladder_nav_tabs = $('#tabs_nav'),
first_ladder_element_inset_id = ladder_nav_tabs.find('li').first().attr('id'),
first_ladder_element_inset_html = ladder_nav_tabs.find("#" + first_ladder_element_inset_id).html();
console.log(first_ladder_element_inset_html);
});
DEMO - 更新为有效的id选择器语法
或者你可以使用jQuery的eq缩短你的代码,类似于:
btn.on('click',function(){
var theHtml = $('#tabs_nav li').eq(0).html();
console.log(theHTML);
});
答案 1 :(得分:2)
不要将jQuery纯粹用作选择器引擎:
btn.onclick = function() {
console.log(document.getElementById('tabs_nav').children[0].innerHTML);
};
答案 2 :(得分:1)
查看jQuery first-child
selector。具体做法是:
btn.on('click',function(){
var first_child = $('#tabs_nav li:first-child');
var first_child_html = first_child.html();
});
答案 3 :(得分:0)
试试这个:
btn.on('click',function(){
var ladder_nav_tabs = $('#tabs_nav'),
first_ladder_element_inset_id = ladder_nav_tabs.find('li:first-child').attr('id'),
first_ladder_element_inset_html = ladder_nav_tabs.find(first_ladder_element_inset_id).html();
console.log(first_ladder_element_inset_html);
});
您必须使用:first-child