按数据属性和id匹配元素

时间:2016-02-01 21:35:19

标签: javascript jquery

我正在寻找一种使用jQuery比较元素的方法。基本上对于具有特定数据属性的每个元素,我想要“appendChild”另一个具有匹配ID的元素。

因此,在以下示例中,'a'的数据属性为data-dropdown =“drop-delivery-options”。第二个元素有一个ID =“drop-delivery-options”,因此它们匹配。我可以选择具有此ID的元素,但如何选择与数据属性/ ID匹配的元素?

这样的功能就像:

If elementA[data-attribute] = elementB[ID] { 
    (elementA).appendChild(elementB) 
}
<a href="#" data-dropdown="drop-delivery-options" class="button">Add Option</a>

<div id="drop-delivery-options" data-dropdown-content class="f-dropdown content table-options drop-delivery-options">
    <ul>
        <li><a href="#">Add Deposit Account</a></li>
        <li><a href="#">Add Cash Pickup</a></li>
        <li><a href="#">Send to Card</a></li>
        <li><a href="#">Add Home Delivery</a></li>
    </ul>
</div>

1 个答案:

答案 0 :(得分:1)

您可以使用data-dropdown属性选择select元素,然后使用appendTo()将其附加到a。请注意,虽然给出了您的示例,但最终会使用嵌套的a元素,这些元素无效。您应该将父a元素更改为其他内容。

$('.button').click(function() {
    $('#' + $(this).data('dropdown')).appendTo(this);
});

Working example