在JavaScript或jQuery中动态设置div id

Cha*_*har 8 javascript jquery

如何动态设置div id?这是我的代码:

<div id="q1"></div>
<div id="q2"></div>
<div id="q3"></div>
<div id="q4"></div>
<div id="q5"></div>
Run Code Online (Sandbox Code Playgroud)

现在我想将q4 div id设置为q1,就像在JavaScript中那样.我怎么能用JavaScript或jQuery做到这一点?

我试过这个.

 document.getElementById("q4").id = "q1"; 
 document.getElementById("q2").id = "q5";
Run Code Online (Sandbox Code Playgroud)

但它是说该对象为null或未定义.

谢谢.琳.

Sam*_*ich 6

使用jquery:

逐个动态设置:

var idCount = 1;
$('div').each(function() {
   $(this).attr('id', 'q' + idCount);
   idCount++;
});
Run Code Online (Sandbox Code Playgroud)

重新排列你想要的东西:

$('div#q4').attr('id', 'q1');
$('div#q2').attr('id', 'q5');
Run Code Online (Sandbox Code Playgroud)


Ern*_*ius 4

$('#q1').attr('id', 'q4')我认为它可以工作......

编辑:

如果它仍然不起作用,请尝试将其放在前面</body>

<script>
    $(document).ready(function(){
        $('#q1').attr('id', 'q4')
    });
</sript>
Run Code Online (Sandbox Code Playgroud)

  • 是的,就是:“我如何在 JavaScript 或 jQuery 中做到这一点。” (2认同)
  • 我的错 - 不知何故我错过了(+1)。我也会更新问题的标签。 (2认同)
  • 这是完全没有意义的...海报提供的当前代码有效...因此这也无济于事。问题出在代码的其他地方。 (2认同)
  • @Ernestas - 在你的第二个代码片段中,你正在等待“ready”事件,所以他把它放在哪里并不重要,只要它是在他链接到 jQuery 之后即可。另外,在两个示例中,您都使用 #' 前缀设置 ID,我认为这是无意的。 (2认同)