2015-06-29 5 views
-2

Пожалуйста, помогите, я не могу получить значение html элемента dd.Не удается получить значение HTML элемента dd с помощью jQuery

Это мой код:

<table id="tabla_costo"> 
    <h2> 
     Costo de Producción 
    </h2> 
    <dl> 
     <dt>Codigo></dt> 
     <dd class="code"> 
      &nbsp; 
     </dd> 
     <dt>Codigo Secundario></dt> 
     <dd class="code2"> 
      &nbsp; 
     </dd> 
     <dt>Producto</dt> 
     <dd class="name"> 
      &nbsp; 
     </dd> 
     <dt>Cantidad</dt> 
     <dd class="quantity"> 
      &nbsp; 
     </dd> 
     <dt>Costo</dt> 
     <dd class="cost"> 
      &nbsp; 
     </dd> 
    </dl> 
</table> 

Я попытался это, но не работает:

var dl = $('#tabla_costo dl').find('dd.code').first().html(); 
console.log(dl); 

Но я получаю неопределенный

Это мой jsfiddle:

https://jsfiddle.net/n96fvaoe/3/ (обновленный)

+0

В коде есть только один 'dd.code', поэтому использование' first() 'бесполезно. Удалите часть .first() 'из вашего кода, и она должна работать как ожидалось. – viarnes

+0

php scripting не имеет места в JS Fiddle или в вопросах JavaScript (по большей части); отправьте (минимальный/[MCVE] (http://stackoverflow.com/help/mcve)) HTML-код, созданный этим скриптом, и включите * этот * HTML в свой вопрос и обновите связанное демо. И, пожалуйста, не возвращайте свой вопрос к версии, которая более сложна для чтения. * Редактирование предназначалось для * помощи *, вы получаете ответ, который, я полагаю, является результатом, который вы предпочтете? –

+0

Я все еще получаю undefined https://jsfiddle.net/n96fvaoe/2/ – juanpscotto

ответ

1

Это потому, что у вашего <table> нет строк или ячеек, поэтому это не действительная структура DOM.

Если вы измените ваш <table> так, что его содержание в клетке:

<table id="tabla_costo"> 
<tr><td> 
...content... 
</td></tr> 
</table> 

все работает отлично.

1

После ответа от @RichieHindle единственным решением, которое будет работать здесь, является следующее.

var dl = $('dl').find(".code").html(); 
Смежные вопросы