我有以下HTML代码
<div class="main-nav" id="main-content">
<ul class="main-nav-c">
<li id="Li1"><a id="A1" disabled="disabled" class="sprites"><span
class="headerV">Value 1</span></a></li>
<li id="Li2"><a id="A2" class="sprites" >
<span class="empx9b12">Value 2</span></a></li>
</ul>
</div>
并获取第一个li的innerHtml我使用以下jquery
value = $('#main-content .main-nav-c li').eq(0).find('a').find('.headerV')[0].innerHTML.trim().toUpperCase();
但我收到以下错误:$(...)。eq(..)。find(..)。find(..)[0] .innerHTML未定义
答案 0 :(得分:8)
你应该logged your object看看会发生什么(例如你可以做console.log(myJqueryObject.length)
)。
这里的问题是你的选择器错了:main-nav
是一个不是id的类。
你可能想要
$('#main-content .main-nav-c li')
答案 1 :(得分:1)
value = $('.main-nav .main-nav-c li').find('a').find('.headerV').html().trim().toUpperCase();
console.log(value);
你犯了小错误 - 使用#(id选择器),而不是。类选择器。
答案 2 :(得分:0)
我通过将jquery改为
解决了这个问题value = $('#main-content .main-nav-c li').eq(0).find('a').text().trim().toUpperCase();