0

考虑这段代码:

<script type="text/javascript" src="some.js"></script>
<script type="text/javascript" src="some2.js"></script>

<script type="text/javascript">

    var scripts = document.getElementsByTagName("script");

    for (i=0;i<scripts.length;i++){

        if(scripts[i].src=="some.js") {
        scripts[i].src = "somechanged.js";
        }
    }


</script>

<script type="text/javascript" src="some.js"></script>

我不知道为什么if不起作用。如果您使用 // 注释它,它将适用于所有已阅读的脚本 src。我尝试了一些技巧toLowerCase()和/或valueOf(),但没有奏效。

我将 if 更改为if(1==1),当然它可以工作。

我在字符串比较中做错了什么?

问候

4

1 回答 1

1

添加评论作为与您的请求相同的答案。

  • src属性是绝对 URL。这是在规范中指定的。

  • 您需要设置它的实际属性,而不是 DOM 实际用于获取它的属性。

  • 如果你想要 HTML 中的属性,你可以使用scripts[i].getAttribute("src")which 将返回正确的值。

于 2013-11-14T08:45:47.353 回答