我正在使用以下脚本根据输入的值更改图像。
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中的值。如何才能使 ONLY 更改site-logo中的值而不是页面上的其他随机内容?
答案 0 :(得分:3)
尝试
var siteLogo = $('input#site-logo').val();
$('#site-logo img').attr("src", siteLogo);
答案 1 :(得分:2)
这里有两个问题:
id
字段。它应该是独一无二的。#site-logo
选择器会选择带有site-logo
ID的项目,img
会选择您网页上的所有图片。选择器中的逗号基本上定义了所有选择器中的“或”;如果匹配#site-logo
或匹配img
,则会选择一个元素。将您的选择器更改为:
$("#site-logo img").attr("src", siteLogo);
在这种情况下,您需要为<input>
标记设置不同的ID。
答案 2 :(得分:1)
从jQuery选择器
中删除','$('#site-logo img').attr("src", siteLogo);
$('#site-logo img')
表示#site-logo
$('#site-logo, img')
表示#site-logo
加上所有图片。
答案 3 :(得分:1)
请改为尝试:
$('img','#site-logo')
或更好:
$('#site-logo').find('img')