如何将js变量赋值给html节点的id

<script>var a="123"</script>
<div id='javascript:this.id=zwhere'></div>
<div onload='javascript:this.id=zwhere'></div>
这2种写法有错误吗?怎么都不行。
另外,我想在div加载的时候就给id赋值,而不是页面加载完后,希望不要用onload事件。
谢谢

$(document).ready(function(){
var a="def";
$("#abc").attr("id",a);
});

<div id="abc"></div>

用JQuery就可以在div加载完后就赋值 而不是页面加载完后。我觉得应该要给你的div加个id或者是class才能用JS修改

追问

页面中有很多

追答

我知道 所以说或者加个class

$(document).ready(function(){
var a="def";
$(".abc").attr({"class":null,"id":a});
});

<div class="abc"></div>

<div class="abc"></div>

<div class="abc"></div>

<div class="abc"></div>

<div class="abc"></div>

如果你不想去掉class 那就把"class":null去掉

追问

这种寻找节点的方法有太多不确定性。就不能用我给的那两种方法,通过this做吗?

追答

我觉得还是要根据你的实际情况来选择用哪种方式 这种方式也不是不好 this的话依我现在的水平就只能用遍历了

$(function(){
var a = "abc";
$("#test div").each(function(){
$(this).attr("id",a);
})
});

<div id="test">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>

真的要根据你的代码情况来用的吧我觉得

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答