.innerHTML未定义

时间:2014-02-25 09:24:26

标签: java jquery html asp.net dom

我有以下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未定义

3 个答案:

答案 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选择器),而不是。类选择器。

小提琴:http://jsfiddle.net/5MXWm/

答案 2 :(得分:0)

我通过将jquery改为

解决了这个问题
value = $('#main-content .main-nav-c li').eq(0).find('a').text().trim().toUpperCase();