更改DIV宽度JavaScript

时间:2015-05-24 14:01:09

标签: javascript html

我正在使用以下代码:

... 
<div id="divcontainer1">
    ...
    <div id="divcontainer2">
          ...
    </div>
</div>
...

现在,我希望在Div“divcontainer3”中稍后更改“divcontainer2”。

检查的正确方法是divcontainer2,当为true时, 更改divcontainer2宽度javascript?

谢谢你, 哈迪

3 个答案:

答案 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);

你所做的只是

  1. 获取元素.outterHTML
  2. 获取代表标记的子字符串。
  3. 替换定义它的文本
  4. 将.outterHTML标记设置为我们的新字符串
  5. 现在你有了一个新命名的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");