Добавить значение по атрибуту данных

0

У меня есть следующая ситуация:

Существует таблица со следующим name и value атрибута данных: data-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) на основе атрибута data и добавлять его к следующему div "span.qty unit-result":

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

Надеюсь, кто-то может показать мне, как это сделать.

  • 0
    Вы хотели получить «KG», когда вам передали «Basiseenheid», который присутствует внутри первого тд?
Теги:
html-table
append
custom-data-attribute

3 ответа

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);

EDIT: jsPerf Результаты тестов между двумя из них.

Выключается.find() примерно на 16-18% медленнее, чем селектор пространства.

.find() - 24 035 операций в секунду, на 18% медленнее

селектор слияния - 29 501 операций в секунду, самый быстрый Изображение 174551

  • 0
    Вы можете объединить ваш начальный селектор и .find () в один селектор, учитывая, что ваш поиск в том же направлении.
  • 0
    @Prusprus - find происходит быстрее, чем многоуровневые селекторы.
Показать ещё 10 комментариев
2

С помощью jQuery вы можете получить KG с помощью этой команды:

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

Затем добавьте его в другую ширину:

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

см.: http://api.jquery.com/append/ http://api.jquery.com/html/

  • 2
    но это не то, чего хотел ОП. Он хочет значение, где есть определенный атрибут данных для строки.
  • 0
    да, ты прав, неправильно понял.
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'));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню