首页 > 解决方案 > 通过 data 和 addClass 方法中的属性选择元素

问题描述

我需要根据 id 和 class 获取元素:

$('<div/>').data('id', 'xxx').addClass('myclass');

任何建议或帮助将不胜感激。

编辑:我写的元素是例子,它没有更多的属性。如何根据该 id (xxx) 和类获取该元素?

问题在于通过它的 id 和它的类获取元素,元素是动态创建的,我有 2 个具有相同 id 但不同类的元素:

 $('<div/>').data('id', '111').addClass('myclass_1');
 $('<div/>').data('id', '111').addClass('myclass_2');

我已经尝试过了,但它不起作用:

var div = $('div[data-id="'+xxx+'"][class="myclass_1"]');

一个例子:

<html>
    <div id="parentContainer"></div>
    <div id="otherParentContainer"></div>
</html>

<script>
    
    var parent = $('#parentContainer');
    var otherParent = $('#otherParentContainer');

    $('<div/>').data('id', 'parentContainer').addClass('myclass_1').appendTo(parent);
    $('<div/>').data('id', 'parentContainer').addClass('myclass_2').appendTo(parent);
    $('<div/>').data('id', 'parentContainer').addClass('myclass_3').appendTo(parent);
    
    $('<div/>').data('id', 'otherParentContainer').addClass('myclass_1').appendTo(otherParent);
    $('<div/>').data('id', 'otherParentContainer').addClass('myclass_2').appendTo(otherParent);
    
    function obtainSpecificDiv (parentContainerId){
        
        //  i need manipulate the div whith class myclass_2
        var div = $('div[data-id="parentContainerId"][class="myclass_2"]'); // not work
        
    }

</script>

标签: jquery

解决方案


我不确定这是您要查找的内容,但要通过 ID 为元素提供类名:

$('#yourId').addClass('yourClass');

并通过 className 给出一个 ID:

$('.yourClass').attr('id', 'yourId');

推荐阅读