在我的脚本标签中,我有:
function swap() {
if (document.getElementById("pic").src.endsWith('Design/b1.jpeg') != -1) {
document.getElementById("pic").src = "Design/b1.jpeg";
}
}
<img src="Design/b1.jpeg" alt="B1" width="255" height="38" type="button" name="pic" id="pic" onclick="swap();" />
我哪里出错了? 谢谢!
答案 0 :(得分:0)
你错过了一个大括号
function swap(){
if (document.getElementById("pic").src.endsWith('Design/b1.jpeg') != -1) {
document.getElementById("pic").src = "Design/b1.jpeg";
}
}
示例:强>
function swap(){
if (document.getElementById("pic").src.endsWith('https://dummyimage.com/100x100/d62dd6/fff') != -1) {
document.getElementById("pic").src = "https://dummyimage.com/100x100/d62dd6/fff";
}
}
<img src="https://dummyimage.com/100x100/000000/fff" alt="B1" width="100" height="100" type="button" name="pic" id="pic" onclick="swap();" />
答案 1 :(得分:0)
使用缩进是一种很好的做法。如果您使用以下内容,您的问题永远不会发生:
function swap()
{
if (document.getElementById("pic").src.endsWith('Design/b1.jpeg') != -1)
{
document.getElementById("pic").src = "Design/b1.jpeg";
}
} // <= your error
答案 2 :(得分:0)
为什么这么多硬编码?使用带参数的交换函数。
function swap(reference, val){
var elem = document.getElementById(reference);
if(elem.getAttribute('src') !== val){
elem.setAttribute('src', val);
}
}
答案 3 :(得分:-1)
尝试:
function swap(){
if (document.getElementById("pic").src.endsWith('Design/b1.jpeg') != 1) {
document.getElementById("pic").src = "Design/b1.jpeg";
}
我认为如果网址不匹配我想要交换。如果没有,请提供更多详细信息