将div id更改为javascript变量

时间:2011-04-27 14:10:16

标签: javascript html

好的,现在我正在使用下面的代码工作正常。所选选项位于变量中:'val'。但现在我想改变div id。那么如何将'var_div'的值更改为'val'的值?

 <form name="form1" method="POST">
    <select name="select1" onchange="updatevariable(this)">
    <option value="div2" >2</option>
    <option value="div15" >15</option>
    </select>
    </form>

    <script type="text/javascript">
    function updatevariable(elm) {
    val = elm.options[elm.selectedIndex].value;
    window.alert(val);
    }
    </script>

    <div id='var_div'>
    </div>

5 个答案:

答案 0 :(得分:3)

这个怎么样......

document.getElementById("var_div").setAttribute("id", val);

...与jQuery ...

$('#var_div').attr('id',val);

我希望这会有所帮助 赫里斯托斯

答案 1 :(得分:2)

document.getElementById("var_div").id = val;

修改

顺便说一句,你需要将元素的id存储在其他地方,这样你就可以知道下次想要更改它时要查找的id。如果不这样做,此代码只能使用一次。如果您想支持重复更改ID,您可能需要执行以下操作:

<script type="text/javascript">
    var currentDivId = "var_div";

    function updatevariable(elm) {
        val = elm.options[elm.selectedIndex].value;
        window.alert(val);
        var divElement = document.getElementById(currentDivId);
        divElement.id = val;
        currentDivId = val;
    }
</script>

答案 2 :(得分:2)

你可以做一些简单的事情

document.getElementById('var_div').setAttribute('id',val)

但您可能还想查看一个像jquery这样的框架。如果你要做很多这样的事情,那将会让你的生活变得更轻松!

答案 3 :(得分:1)

如果您需要,可以这样做:

<div id="test"></div>
<script type="text/javascript">
var elem = document.getElementById("test");
alert(elem.id);
elem.id = "test2";
alert(document.getElementById("test2").id);
</script>

使用Javascript选择元素后,更改元素的id属性。

答案 4 :(得分:0)

如果这个div是表格中唯一的那个div,那就像这样容易

 <form name="form1" method="POST">
    <select name="select1" onchange="updatevariable(this)">
    <option value="div2" >2</option>
    <option value="div15" >15</option>
    </select>
    </form>

    <script type="text/javascript">
    function updatevariable(elm) {
    document.getElementByTagNames('DIV')[0].id= elm.options[elm.selectedIndex].value;
    }
    </script>

    <div id='var_div'>
    </div>

我动态地通过id动态获取div,因为id将通过更改select标签而更改,然后将id更改为选项的值

但是如果表单中还有其他div,那么我们需要像

一样设置一个属性到这个div
  <div id='var_div' changeId="true">
    </div>

然后遍历div并将其上传并更改id

function updatevariable(elm) {
var divs =   document.getElementByTagNames('DIV');
   for(var i =0;i<divs.length;i++)
     {
      if(divs[i].getAttribute('changeId')!=null) {
        if(divs[i].getAttribute('changeId')=="true"){
              divs[i].id=elm.options[elm.selectedIndex].value;
             }
           }
      }
  }
那说的话 问候 如果对您有用,请将此答案标记为正确答案 :)