代码之家  ›  专栏  ›  技术社区  ›  homework

更改“id=”with document.getElementByID的值

  •  2
  • homework  · 技术社区  · 15 年前

    这是正确的方法吗?

    <a id="load" href="#" class="btn load" onclick="request(this); $('#load').fadeOut(2000)">add</a>
    
    <a href="#" id="test" onClick="alert( 'TEST!' )">here</a>
    
    <script language="javascript">
    var requests = 2;
    
    function request(self)
    {if(self.href != "#")
    requests -= 1;
    
    if(requests === 0)
    document.getElementById("test").id= "nextstep";}
    </script>
    

    如果请求=0,我希望id=“test”更改为id=“nextstep”。

    4 回复  |  直到 15 年前
        1
  •  5
  •   marcc    15 年前

    你可以试试:

    document.getElementById('test').setAttribute('id', 'nextstep');
    
        2
  •  1
  •   BraedenP    15 年前

    这正是你做这件事的方式,只要你把它包装在脚本标签中…

    <script language="javascript" type="text/javascript">
    if(requests === 0){
        document.getElementById('test').id = "nextstep";
    }
    </script>
    

    如果你想在点击锚的时候触发它,那么你可以使用:

    <script language="javascript" type="text/javascript">
    function changeID(){
        if(requests === 0){
            document.getElementById('test').id = "nextstep";
            alert('TEST!');
        }
    }
    </script>
    
    <a href="#" id="test" onclick="changeID()">Test</a>
    

    编辑: 好吧,在我发布这个之后,你改变了你问题的内容…

        3
  •  1
  •   Chris Schmitz    15 年前

    您需要使用'setattribute'来更改锚标记的ID。

    getElementByID(“test”)部分正确,但只需抛出“.setattribute('id','nextstep');”

    希望有帮助!

        4
  •  1
  •   bobince    15 年前

    如果(self.href!=“”)

    这是你的问题。link-hrefs由浏览器规范化,因此在第____页上有一个link__ http://www.example.com/ __具有__的href属性 http://www.example.com/# _,与条件不匹配。

    避免使用名称__self_,因为它与全局对象的名称冲突(aka__window_)。通过从javascript分配处理程序,可以避免笨拙地传入__self_

    document.getElementById('load').onclick= request;
    

    而不是 onclick 属性,然后可以在request()中使用__this_。请求()也应该 return false; 停止正在跟踪的链接(使浏览器滚动到顶部)。最好还是使用 <button> (或) <input type="button"> ,因为它是一个操作按钮,而不是一个可以在新窗口或书签中打开的链接。(您可以使用CSS使其看起来不像按钮。)

    不要将setattribute()用于HTML,它在IE中存在与此用法无关的问题。设置 element.id 已经很好了。

    但这一切似乎都是一种奇怪的方式,不管你在任何情况下都想做什么。