按数据属性追加值

时间:2013-10-10 14:09:28

标签: javascript jquery html-table append custom-data-attribute

我遇到以下情况:

下表中的行提供了以下数据属性namevaluedata-specificationattributename="Basiseenheid"

<tr class="even" data-specificationattributename="Basiseenheid">
    <td class="a-left spec-namehide">
        Basiseenheid
    </td>     
    <td class="a-left spec-valuehide">
        KG 
    </td>   
</tr>

我喜欢的是根据数据属性获取值(KG)并将其附加到以下div "span.qty unit-result"

<div class="qty-unit">
    <span class="qty-unit-result"></span>
</div>

希望有人能告诉我如何做到这一点。

3 个答案:

答案 0 :(得分:2)

<强> jsFiddle DEMO

var selector = $('[data-specificationattributename=Basiseenheid]');
var kgVal = selector.find('.spec-valuehide').text().trim();
$('.qty-unit-result').html(kgVal);

或者

var selector = $('[data-specificationattributename=Basiseenheid] .spec-valuehide');
var kgVal = selector.text().trim();
$('.qty-unit-result').html(kgVal);

编辑: jsPerf Test results他们两人之间。

结果.find()比空格选择器慢16-18%。

.find() - 每秒24,035次操作,慢18%

合并选择器 - 每秒29,501次操作,最快 enter image description here

答案 1 :(得分:2)

使用jQuery,您可以使用此命令获取KG:

var fst= $( ".spec-valuehide" ).html();

然后将它附加到另一个宽度此命令:

$( ".qty-unit-result" ).append(fst);

见: http://api.jquery.com/append/ http://api.jquery.com/html/

答案 2 :(得分:1)

find_value($key){
    return $('table tr[data-specificationattributename='+$key+'] td.spec-value-hide').html().trim();
}

$('div.qty-unit span.qty-unit-result').html(find_value('Basiseenheid'));