使用父div ID修改子div ID

时间:2019-01-23 05:27:00

标签: jquery html

我正在尝试使用父级div ID更改子级的div ID, 例如:

<div id="parent">  
    <div id = "child">  
    </div>  
</div>

尝试了几件事:

$('#parent #child').attr('id', 'modifyChildId');  
$('div#parent' > 'div#child').attr('id', 'modifyChildId');  
$('div#parent').find('div#child').attr('id', 'modifyChildId'); 

我了解可以通过使用子ID本身来更改ID,例如:

$('div#child').attr('id', 'modifyChildId');  

但是这里的场景是:
我有两个具有相同ID的子元素,例如:

    <div id="global_parent">  
        <div id = "child">  
        </div>  
    </div>
    .
    .
    .
    .

    <div id="parent">  
        <div id = "child">  
        </div>  
    </div>

我必须更改父级的子级div的ID。

4 个答案:

答案 0 :(得分:0)

尝试一下。

$('#parent> #child').attr('id', 'modifyChildId');

另一种选择是使用find()方法:

$('#parent').find('#child').attr('id', 'modifyChildId');
  

.find()方法允许我们在DOM树中搜索这些元素的后代,并从匹配的元素构造一个新的jQuery对象。

答案 1 :(得分:0)

尝试一下

var regex = /^[a-zA-Z]+$/; if(regex.test(name)) { //Doing something if string name not matched with Regex }

答案 2 :(得分:0)

您的页面上永远不应有两个具有相同ID的元素。

您应该改用类

<div id="global_parent">  
        <div class="child">  
        </div>  
    </div>
    .
    .
    .
    .

    <div id="parent">  
        <div class="child">  
        </div>  
    </div>

然后使用选择器$("#parent > .child")

答案 3 :(得分:0)

从问题的上下文来看,我了解到您正在将DOM元素插入div#parent中。

发生这种情况时,jQuery无法检测到新插入的元素。如果加载页面时出现div#parent,请尝试以下操作:

 $("#parent").find("#child").attr('id', 'modifiedChildId')})

如果您没有div#parent,请尝试以下操作:

$(document).find("#parent").find("#child").attr('id', 'modifiedChildId')})

相关问题