0

这是我要完成的逻辑:

如果

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

然后

.clone 具有所述 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 找到一个元素,然后将该信息 .clone 到另一个元素上。

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

4

1 回答 1

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

});

这是一个小提琴

于 2014-03-27T21:21:37.503 回答