我有这个结构:
<td class="prd-var-price">
<div class="price-total">
<span class="price-unit">€</span>
<span class="price-value">
<span class="price-value-int">1.760</span>
<span data-decimalseparator="," class="price-value-cent">,00</span>
</span>
</div>
</td>
当我在控制台中写字时:
a.getElementsByClassName( “PRD-VAR-价格”)
我会采用 price-value-int 元素的值(1760),我尝试过:
$(a.getElementsByClassName( “PRD-VAR-价格”)getElementsByClassName方法( “价格值-INT”));
但这不起作用。
答案 0 :(得分:1)
getElementsByClassName
会返回一个元素数组,如果您只想要第一个元素(在您的示例中 - 您这样做),则应使用a.getElementsByClassName("prd-var-price")[0].getElementsByClassName("price-value-int")[0]
但是由于您使用的是jQuery,因此更简单的方法是:
$('.prd-var-price .price-value-int');
jQuery使用css选择器语法来获取元素,如果存在多于一个类结构,你仍会得到一个数组
答案 1 :(得分:0)
您可能有多个td
具有相同的类。
最好将parent > child selection
与find()
$('.prd-var-price').find('.price-value-int').text();
在each()
$('.prd-var-price').each(function(){
console.log($(this).find('.price-value-int').text());
});
$('td.prd-var-price').each(function(key, value){
console.log($(this).find('.price-unit').text());
console.log($(this).find('.price-value-int').text());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td class="prd-var-price">
<div class="price-total">
<span class="price-unit">€</span>
<span class="price-value">
<span class="price-value-int">1.760</span>
<span data-decimalseparator="," class="price-value-cent">00</span>
</span>
</div>
</td>
<td class="prd-var-price">
<div class="price-total">
<span class="price-unit">@</span>
<span class="price-value">
<span class="price-value-int">2.760</span>
<span data-decimalseparator="," class="price-value-cent">00</span>
</span>
</div>
</td>
</tr>
</table>
&#13;
答案 2 :(得分:0)
答案 3 :(得分:0)
最好使用$('.prd-var-price .price-value-int)
而不是$(a.getElementsByClassName("prd-var-price").getElementsByClassName("price-value-int"));
答案 4 :(得分:0)
使用JQuery:
$(&#34; tr.prd-var-price&#34;)。find(&#39; div.price-total span.price-value span:first-child&#34;)。text() ;