将带有ids的div的克隆值匹配到具有匹配数据名称的div

时间:2014-03-27 21:10:48

标签: jquery jquery-selectors jquery-data jquery-clone

这是我想要完成的逻辑:

如果

  

元素的id =“”匹配   另一个元素的data-attribute =“”

然后

  

。使用所述id =“”克隆元素的值,并将其附加到具有所述data-attribute =“”的元素

在实践中,代码将转换如下:

    <div style="display:none" id="1">something</div>
    <div data-attribute="1"></div>

    <div style="display:none" id="2">stuff</div>
    <div data-attribute="2"></div>

    <div style="display:none" id="1">something</div>
    <div data-attribute="1">something</div>

    <div style="display:none" id="2">something</div>
    <div data-attribute="2">stuff</div>

我不知道的地方:我不能自动化这个过程。我只能通过寻址一个特定的id来找到一个元素,然后将该信息粘贴到另一个元素上。

当前代码:http://jsfiddle.net/jTLnH/1/

1 个答案:

答案 0 :(得分:1)

我可能误会了,但我认为您正在尝试执行以下操作: -

// loop over all divs which have an id
$('div[id]').each(function() {

  // create a selector matching the div id with the data-attribute
  var $divData = $('div[data-attribute="' + this.id + '"]');

  // if it exists, set the text
  if ($divData.length) {
    $divData.text( $(this).text() );
  }

});

Here's a fiddle