我正在使用以下代码:
...
<div id="divcontainer1">
...
<div id="divcontainer2">
...
</div>
</div>
...
现在,我希望在Div“divcontainer3”中稍后更改“divcontainer2”。
检查的正确方法是divcontainer2,当为true时, 更改divcontainer2宽度javascript?
谢谢你, 哈迪
答案 0 :(得分:2)
这可能不是嵌套练习,但您可以通过更改元素的.outterHTML来实现。你可能想要改进这个,但这是一个简单的例子。最后一行检查div 2是否存在。
var div2 = document.getElementById("div2");
var html = div2.outerHTML;
var idx = html.indexOf(">");
var newtag = html.substring(0, idx).replace("div2", "div3");
div2.outerHTML = newtag + html.substring(idx, html.length - 1);
var contents = document.getElementById("div3").innerHTML;
alert(document.getElementById("div2") != undefined);
你所做的只是
现在你有了一个新命名的div,它保留了所有属性,位于父级和内容中。
警告线是您检查对象是否存在的方式。
答案 1 :(得分:0)
我不相信有一个适当的&#34;这样做的方法,但我会将divcontainer2
的内容存储在变量中,然后执行类似的操作
var containerOfDivContainer2 = document.getElementById("containerofdiv2");
containerOfDivContaier2.innerHTML = "<div id='divcontainer3'>"/* insert div contents */+"</div>";
当然,这需要您将divcontainer2
放在名为containerofdiv2
的div中,但它有效。
答案 2 :(得分:0)
如果使用jQuery,可以这样做:
$('#divcontainer2').attr('id','divcontainer3');
但你不应该改变身份证。请改用类,然后使用jQuery的toggleClass()函数,如:
<div id="divcontainer1">
...
<div id="divcontainer2" class="style1">
...
</div>
$('#divcontainer2').toggleClass("style1 style2");