Вы можете использовать .data()
row.find('.item_ref').data('ref','hello');
с
<span class="item_ref" data-ref="" > Edit</span>
Затем вы можете использовать его как -
console.log($('.item-ref').data('ref'));
Если вы просто хотите сохранить данные каким-то образом, то это может быть полезно. Дайте мне знать, если вы хотите сделать что-то еще. Или какие данные находятся в файле href
и как вы хотите использовать его дальше.
UPDATE
Из того, что я понимаю, до сих пор есть, вы хотите, чтобы добавить строки динамически, что нужно редактируемые после вставки. Каждая строка содержит некоторые поля с определенными значениями. И вы хотите сохранить ref в классе item_ref
.
Так вот как вы можете это сделать -
var num = 1;
var myDescriptionVariable = 111;
var myPriceVariable = 999;
// You may have some other element triggers cloning
$("button").click(function(){
var newRow = $('#quote .template').clone().removeClass('template');
var quoteItem = {
number: num,
description: 'Description ' + myDescriptionVariable, // added to distinguish items
price: myPriceVariable + ' USD', // added to distinguish items
linkToPopup: myDescriptionVariable + '_link_goes_here' // added to distinguish items
};
template(newRow, quoteItem)
.insertAfter('#quote tr.template')
.show();
});
function template(row, quoteItem) {
row.find('.item_num').text(quoteItem.number);
row.find('.item_desc').text(quoteItem.description);
row.find('.item_price').text(quoteItem.price);
// here 'href' will hold desired link_to_popup
row.find('.item_ref').data('href',quoteItem.linkToPopup);
myDescriptionVariable+= 1; // added to distinguish items
myPriceVariable+=2; // added to distinguish items
num+=1; // added to distinguish items
return row;
}
$("#quote").on("click", ".item_ref",function(){
// this will give to desired link_to_pop_val
alert($(this).data('href'));
});
Я добавил button
дать демонстрацию. Этот подход определенно избегает ненужных элементов DOM, таких как скрытые входы, которые необходимо добавить для каждой строки. С .data()
вас же многократным рода информацию для каждого поля, как -
$("span").data('key_1', value_1);
$("span").data('key_2', value_2);
$("span").data('key_2', value_3);
fiddle for demonstration
Я думаю, что это то, что вы хотите сделать, и должны служить этой цели. :)
вы можете иметь HREF атрибутов только в якорях '' элементов .. но года не один в вас HTML .. – bipen
в '.item_ref' нет тега' a'. У Span нет 'href' attr. – SachinGutte
Вам не нужно добавлять значение href в шаблон. Просто добавьте прослушиватель событий: $ ('tr.template'). On ('click', function() {...}); – Syon