如何将元素移动到下一个兄弟姐妹?

时间:2014-08-16 14:58:38

标签: javascript jquery html

我试图抓住一个元素并将其移动到下一个兄弟,同时为下一个兄弟添加属性。我如何在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,但这个超出了我。

4 个答案:

答案 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());
});

Fiddle

答案 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()); });