Jquery替换图像问题

Jquery replacing image issue

本文关键字:问题 图像 替换 Jquery      更新时间:2023-09-26

我使用以下脚本根据输入的值更改图像。

var siteLogo = $('input#site-logo').val();
$('#site-logo, img').attr("src", siteLogo);
html

 <div id=site-logo>
<img src="default.png" width="285px" height="100px">
</div>
<input id="site-logo" class="input-xlarge" placeholder="http://" type="text">
<button id="add-site-logo" class="btn" href=""> Add</button>

我的问题是,它正在改变所有页面上的图像在site-logo的值。我如何使它使只有值在网站标志得到改变,而不是页面上的其他随机的东西?

Try

var siteLogo = $('input#site-logo').val();
$('#site-logo img').attr("src", siteLogo);

这里有两个问题:

  • 您为两个元素设置了id字段。它应该是唯一的。
  • 选择器你正在使用选择多个东西:#site-logo选择器选择一个项目与site-logo ID, img选择你的页面上的所有图像。选择器中的逗号定义了所有选择器中的"或"它将选择一个元素,如果它匹配#site-logo 它匹配img

把你的选择器改成:

$("#site-logo img").attr("src", siteLogo);

在本例中,您需要为<input>标签设置一个不同的id

从jQuery选择器中删除','

$('#site-logo img').attr("src", siteLogo);

$('#site-logo img')表示#site-logo内的所有图像

$('#site-logo, img')表示#site-logo加上所有图像。

试试这个:

$('img','#site-logo')

或更好:

$('#site-logo').find('img')