如何使用脚本更改<script> id - Javascript </script>

时间:2011-03-31 23:25:15

标签: javascript firebug

我想从它指向的外部脚本中更改标记的id。这样做的正确方法是什么?

这是我的脚本标记:

<script id="ID1" type="text/javascript" src="PATH_TO_EXTERNAL_JS"></script>

以下是我在外部脚本中尝试做的事情:

var sessionID = generateSessionID();
var scripts = document.getElementsByTagName('script');
var script = scripts[scripts.length - 1];
script.id = script.id + "_" + sessionID;

但是,当我查看firebug中的实时DOM树时,我看到DOM中引用了2个脚本。一个具有原始ID,另一个具有新ID。

谢谢!

3 个答案:

答案 0 :(得分:1)

使用setAttribute

script.setAttribute("id", script.id + "_" + sessionID);

答案 1 :(得分:0)

我认为你应该修改你的代码,有点像这样:

var i = 0
var sessionID = generateSessionID();
var scripts = document.getElementsByTagName('script');
var script = null;
for (i = 0; i < scripts.length; i++)
    if (scripts[i].src.toString() == 'PATH_TO_EXTERNAL_JS'){
        script = scripts[i];
        break;
    }

if (script)
    script.id = script.id + "_" + sessionID;

换句话说。获取所有SCRIPT元素,遍历此集合以查找具有某些已知属性的元素(在此示例中为src),如果找到它,则设置它的新id。

答案 2 :(得分:0)

如果您要这样做,则需要删除旧脚本。虽然迈克刘易斯回答有更好的方法。

document.removeChild(originalScript)