我试图抓住一个元素并将其移动到下一个兄弟,同时为下一个兄弟添加属性。我如何在jQuery中做到这一点?
具体来说,我想移动" span"在" a"内标记如下,并为{" a"添加"data-toggle='tooltip'"
和'title="SOMETHING HERE"'
属性标签
因此:
<td>
<span>Total partners</span>
<a id="answer_view_2_list_row_7"></a>
</td>
会变成这样:
<td>
<a id='answer_view_2_list_row_7' data-toggle='tooltip' title='SOMETHING HERE'>
<span>Total partners</span>
</a>
</td>
任何帮助表示赞赏。我正在学习jQuery,但这个超出了我。
答案 0 :(得分:0)
这将是:
// Append to `a` tag.
$('span').appendTo('a');
// Add attributes.
$('a').attr({
'data-toggle':'tooltip',
'title':'SOMETHING HERE'
});
或者更好:
$('span').each(function() {
$(this).next().attr({
'data-toggle':'tooltip',
'title':'SOMETHING HERE'
});
$(this).appendTo($(this).next());
});
答案 1 :(得分:0)
$('td a').append(function () {
return $(this).parent().find('span')
}).data('toggle', 'tooltip').attr('title', 'SOMETHING HERE')
<强> jsFiddle example 强>
请注意,您不会在源中看到数据属性,因为它存储在内部。
答案 2 :(得分:0)
$('td > a').attr({
'data-toggle': 'tooltip',
'title': 'something here'
}).append($('td > span'));
答案 3 :(得分:-1)
尝试这样的事情:
$('myelement').each(function() { $(this).appendTo($(this).next()); });