javascript - 按数据属性和 id 匹配元素

标签 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>

最佳答案

您可以使用 data-dropdown 属性选择 select 元素,然后使用 appendTo() 将其附加到 >一个。请注意,尽管给定您的示例,您最终会得到嵌套的 a 元素,这是无效的。您应该将父 a 元素更改为其他元素。

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

Working example

关于javascript - 按数据属性和 id 匹配元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35140791/

相关文章:

javascript - Vue.js 修改计算属性?

jquery - jQuery 动画的最佳策略

javascript - 如果单击链接 1,则使链接 2 不可单击

javascript - 如果没有记录/显示总记录数,如何在数据表中继续显示分页栏?

javascript - 如何显示不同高度尺寸的图像

javascript - ajax调用之前进度条不显示?

javascript - 如何找到从json生成的html元素的id

jquery - 使用jquery从iframe刷新父页面上的div

javascript - Ajax 从不调用我的 .NET 方法?

javascript - 在 IE/FireFox/Chrome 中横向打印 DIV