if语句源问题javascript

时间:2014-01-26 11:00:57

标签: javascript

这是一个非常简单的if语句,我怎么试过nummours方法来输入代码。 我要做的是确保“captch_style”的.src为== source_one

html

<img id="captch_style" src="img/captcha/captcha_0.jpg" 
 width="200" height="60" alt=/>

单独的js文件

<script type=text/javascript>


var source_one="img/captcha/captcha_0.jpg";

if (document.getElementById("captch_style").src === source_one){

        inputValue.style.borderColor="#00ff00";
}   

else {
inputValue.style.borderColor="#ff0000";

}

<script>

1 个答案:

答案 0 :(得分:3)

src属性通常包含扩展的URL,而不是相对的URL。所以你要比较(例如)http://example.com/img/captcha/captcha_0.jpgimg/captcha/captcha_0.jpg,因此它不匹配。

您可以检查它是否以此结尾:

if (document.getElementById("captch_style").src.substr(-source_one.length) === source_one) {
    // It does
}
else {
    // It doesn't
}

substr function会返回您调用它的字符串的子字符串。如果你用负索引来调用它,它会从字符串的结尾开始计数并返回,所以“abcdef”.substr(-2)gives you“ef”`。

或者,您可以获取src 属性而不是属性(.getAttribute("src")),该属性应该包含HTML中图像的任何内容,但是一些浏览器(只是旧浏览器?)可能会不正确地扩展。 (我不记得它是否与src属性一起发生,它肯定用于href元素上的a。)


另外,正如Shomz在评论中指出的那样,您的JavaScript文件中不得包含script标记;虽然也许某些浏览器JavaScript引擎可能会容忍它,但我希望这会给你一个语法错误。 JavaScript文件只包含JavaScript代码。 script标记用于将JavaScript代码块放在HTML文件中。