JS怎么更换img中src路径

JS代码:<scriptlanguage="JavaScript">functiontabit(id,cid,did,fid){id.style.display="blo... JS代码:
<script language="JavaScript">
function tabit(id,cid,did,fid) {
id.style.display="block";cid.style.display="none";
var sr1=document.getElementById(did).src;
sr1 = "yuanjian/" & did & "-g.png";
var sr2=document.getElementById(fid).src;
sr2 = "yuanjian/" & fid & ".png";

}
</script>

HTML代码:
<div class=mt1>
<UL>
<LI class=sj1 onclick="tabit(octab1,octab2,mtbd,ytdt)"><IMG id="mtbd" src="yuanjian/mtbd-g.png" /></LI>

<LI class=sj2 onclick="tabit(octab2,octab1,ytdt,mtbd)"><IMG id="ytdt" src="yuanjian/ytdt.png" /></LI>
</UL>
</div>

点击更换图片的地址,前面两个值是其他两个div的显示隐藏,这个不用管已经实现了,就是IMG怎么也不能替换src,求大神指点指点!谢谢
目前状况就提示“SCRIPT5007: 无法获取属性“src”的值: 对象为 null 或未定义”
这是什么状况啊?
展开
 我来答
JIA丨XIAN
推荐于2017-09-21 · TA获得超过630个赞
知道小有建树答主
回答量:475
采纳率:20%
帮助的人:319万
展开全部

通过找到img这个元素,然后再找到这个元素里的src属性,就可以查看,更改这个属性了


1)原生js

元素.setAttribute() //增加,更改属性,有两个参数,第一个参数是属性名,第二个是值.

元素.getAttribute() //传入属性名,获得该属性对应的值

2)Jquery(需要导包)

元素.attr(); //可传两个参数,传一个为获取该属性的值,传两个位增加 或 更改这个属性.


举个例子:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
<img src="6.jpg">
<script src="jquery-2.1.1.min.js"></script>
<script>
    //原生js
    document.getElementsByTagName('img')[0].setAttribute('name','myimg');//没'name'属性,添加'name'属性,值为'myimg';
    document.getElementsByTagName('img')[0].setAttribute('src','7.jpg');//以有'src'属性,更改值为'7.jpg',达到换图片的目的;
    document.getElementsByTagName('img')[0].getAttribute('src');//返回'src'的值,'7.jpg';

    //Jquery
    $('img').attr('src','6.jpg');//把src属性更改为'6.jpg';
    $('img').attr('src');//获得src属性为'6.jpg';


</script>
</body>
</html>
海甸岛的骄傲
推荐于2017-09-23 · TA获得超过820个赞
知道小有建树答主
回答量:147
采纳率:100%
帮助的人:133万
展开全部

你好

1、我写了一段示例代码,试过了可以用,你可以参考一下用法:

<img id="pic" src="" />
<script>
  document.getElementById('pic').src = "XXXXXXX";
</script>

2、你的代码中还有个错误,你函数中的字符串连接用的是 & 运算符,这是错误的,& 这个运算符表示的是“按位与”操作。在JS中,应当使用 + 运算符来连接字符串。例如:

<script>
  sr1 = "yuanjian/" & did & "-g.png";  //错误
  sr1 = "yuanjian/" + did + "-g.png";  //正确
</script>

 综合以上两点原因,希望能帮助你修正错误。如以上代码不能解决你的问题,欢迎追问。

追问
如果像我那样用onclick事件呢?把值传进去,该怎么写?
按照你写的,我已经改成+号了,直接写ID也确实可以改变这个id的src,但是用传值就提示 无法获取属性“src”的值: 对象为 null 或未定义
追答
你好,从你的tabit(id,cid,did,fid)函数来分析,后两个参数did和fid的类型应该是字符串,所以在传参时应当用半角引号括起来作为字符串直接量传入,如果没加引号则视为一个变量。因此,按照你的代码的意图,你应该是想把两个的id作为字符串传入tabit()吧?那么正确的做法是tabit(xxxx, xxxx, 'ytdt', 'mtbd')
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ec310cb
2018-03-27
知道答主
回答量:1
采纳率:0%
帮助的人:877
展开全部
obj.setAttribute("src", "img/gougou.png");
var obj =document.getElementById("obj");
<img src="img/quan.png" id="obj">
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式