Javascript 将 ID 添加到 div 内的元素

标签 javascript jquery html

我需要将属性ID设置为一组<div>父元素 <div> 内的元素.

家长<div>有身份证,有的 child <div>有 ID,但其他人没有。

HTML 代码为:

<div id="my_parent_div">
   <div id="my_child_div_a">Here is some text A</div>
   <div>Here is some text B</div>
   <div>Here is some text C</div>
   <div>Here is some text D</div>
</div>

应用 Javascript/JQuery 后,它应该看起来:

<div id="my_parent_div">
   <div id="my_child_div_a">Here is some text A</div>
   <div id="new_added_id_b">Here is some text B</div>
   <div id="new_added_id_c">Here is some text C</div>
   <div id="new_added_id_d">Here is some text D</div>
</div>

我尝试了以下方法:

<script type="text/javascript">
$('div').each(function(eq, el) {
    el = $(el);
    if(typeof(el.attr('id')) === "undefined") {
        el.attr('id', 'div-' + eq);
    }
});
</script>

但它会给所有 <div> 提供 ID整个 HTML 文档中没有 ID。我只需将 ID 设置为 #my_parent_div 的子元素没有 ID,我想设置特定 ID(而不是 id="div-10", id="div-11", id=div-12)

感谢您的建议

最佳答案

您的选择器是 $('div') ,它将定位页面上的所有 div 元素。要使其仅选择 #my_parent_div 下的 div,请改用此选择器:$('#my_parent_div div')

代码现在看起来像这样:

<script type="text/javascript">
$('#my_parent_div div').each(function(eq, el) {
    el = $(el);
    if(typeof(el.attr('id')) === "undefined") {
        el.attr('id', 'div-' + eq);
    }
});
</script>

更新:

在评论中回答您的问题

如果您想为每个元素指定一个特定的 ID 名称,我会说您创建一个列出所有名称的数组。

var ids = ["猫", "狗", "鼠", "鸡"];

然后创建一个变量,该变量将在每次循环时进行计数,以便您可以使用它来获取特定循环中该数组的名称。

所以把它们放在一起,看起来像这样:

var count = 0;
$('#my_parent_div div').each(function(eq, el) {
    var ids = ["cat", "dog", "rat", "chicken"];
    el = $(el);
    if(typeof(el.attr('id')) === "undefined") {
        el.attr('id', ids[count]);
        count++;
    }
});

关于Javascript 将 ID 添加到 div 内的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30768753/

相关文章:

javascript - jQuery 在同一页面上克隆两种形式的输入?

javascript - 如何使用旧版免费 JavaScript 将标记(不仅仅是纯文本)复制到剪贴板

javascript - 在浏览器中获取我的视频

javascript - 框架7 : Navigating to a route with different parameters while preserving history

javascript - JavaScript 路由库中的标签字符?

javascript - 为什么这个菜单在 IE 中会出现问题?紧急求救

javascript - 使用 CasperJS 同时处理多个 window.prompts

javascript - 在List Item中将Loop JSON制作成柱状

javascript - jQuery 函数 - 设置字符串参数

html - 裁剪背景图像