jQuery:如何将具有两个值的元素推送到数组
jQuery: How to push elements with two values to an array
我是 jQuery 的新手,希望有人能帮助我。
我有一个很大的 HTML table 和一些 editable TD,其中每个 TD 都有 class“editable
”。
现在我需要检查哪些 editable TD 包含文本,然后创建一个包含相应 TD 名称和文本的数组。
到目前为止,我有以下关于文本的内容应该没问题,但我不太确定如何在数组中获取相应的名称。
我的jQuery:
var edited = [],
editedName;
$('.editable').not('.default').each(function(){
editedName = $(this).attr('name)';
edited.push( $.trim($(this).text()) );
});
有人可以帮我解决这个问题吗?
提前致谢,蒂姆。
你可以这样试试:
var edited = [],
$('.editable').not('.default').each(function(){
var editedName = $(this).attr('name)';
var editedText = $.trim($(this).text());
var editedItem = {};
editedItem.Name = editedName;
editedItem.Text = editedText;
edited.push(editedItem);
});
然后,如果你想从编辑的数组中读回值,你可以这样做:
$.each(edited, function(i, editedItem){
var $thisEditedItemName = editedItem.Name;
var $thisEditedItemText = editedItem.Text;
});
你应该推一个对象:
var edited = [];
$('.editable').not('.default').each(function(){
edited.push( {
text: $.trim($(this).text()),
name: $(this).attr('name')
} );
});
您还可以使用 map
:
来简化此操作
var edited = $('.editable')
.not('.default')
.map(function(){
return {
text: $.trim($(this).text()),
name: $(this).attr('name')
};
})
.get()
;
我是 jQuery 的新手,希望有人能帮助我。
我有一个很大的 HTML table 和一些 editable TD,其中每个 TD 都有 class“editable
”。
现在我需要检查哪些 editable TD 包含文本,然后创建一个包含相应 TD 名称和文本的数组。
到目前为止,我有以下关于文本的内容应该没问题,但我不太确定如何在数组中获取相应的名称。
我的jQuery:
var edited = [],
editedName;
$('.editable').not('.default').each(function(){
editedName = $(this).attr('name)';
edited.push( $.trim($(this).text()) );
});
有人可以帮我解决这个问题吗?
提前致谢,蒂姆。
你可以这样试试:
var edited = [],
$('.editable').not('.default').each(function(){
var editedName = $(this).attr('name)';
var editedText = $.trim($(this).text());
var editedItem = {};
editedItem.Name = editedName;
editedItem.Text = editedText;
edited.push(editedItem);
});
然后,如果你想从编辑的数组中读回值,你可以这样做:
$.each(edited, function(i, editedItem){
var $thisEditedItemName = editedItem.Name;
var $thisEditedItemText = editedItem.Text;
});
你应该推一个对象:
var edited = [];
$('.editable').not('.default').each(function(){
edited.push( {
text: $.trim($(this).text()),
name: $(this).attr('name')
} );
});
您还可以使用 map
:
var edited = $('.editable')
.not('.default')
.map(function(){
return {
text: $.trim($(this).text()),
name: $(this).attr('name')
};
})
.get()
;