我试图在div中更改图像,如果用户点击任何跨度,如果div已经包含roz变量(来自索引页面),那么通过点击跨度,img roz不应该被适用但是它确实不行。
我不确定jQuery中IF语句的第一部分是否正确
这里是html部分
<div class="iconWrapper">
<ul class="color">
<li><a href="#" title="Selecteer"><span class="color1"></span></a> </li>
<li><a href="#" title="Selecteer "><span class="color2" ></span></a></li>
<li><a href="#" title="Selecteer"><span class="color3"></span></a> </l>
<li><a href="#" title="Selecteer"><span class="color4"></span></a></li>
</ul> </div>
<div id="div1" > <?php if(isset($_SESSION['img'])){
echo '<img src="' . $_SESSION['img'] . '" >' ; }
?>
<form method="post" action="weekDays.php">
<input name="kleur" type="text" value="" id="hiddencolor" />
<input name="submit" type="submit" value="Submit" />
</form> </div>
jQuery的:
$(function(){
var roz='../../photo/roz1.jpg';
$('.iconWrapper span').click(function(e){
var kleur=$(this).attr('class');
if($('#div1').attr('src' == roz)){
$('#div1' ).children('img').remove() ;
$('#div1'). append('<img src="img/300.jpg" />');
}else{
$('#div1').children('img').remove();
$('#div1').append('<img src="img/106.jpg" />');
}
e.preventDefault();
alert( $('#div1').html() );
});
});
答案 0 :(得分:6)
if($('#div1').attr('src' == roz))
应该是
if($('#div1').attr('src') == roz)
答案 1 :(得分:2)
jQuery attr()使用不当。您需要使用attr('src')
获取'src'属性,然后将其与您的roz
值进行比较。
答案 2 :(得分:2)
我在想你真的想要这个:
$(function() {
$('.iconWrapper span').click(function(e) {
$('#div1').find('img').attr('src', function(index, src) {
return src == '../../photo/roz1.jpg' ? 'img/300.jpg' : 'img/106.jpg';
});
});
e.preventDefault();
});
鉴于您当前的代码似乎在寻找一个src
属性,我认为它是div
。
答案 3 :(得分:1)
试试这个:
$(function() {
var roz = '../../photo/roz1.jpg';
$('.iconWrapper span').click(function(e) {
var kleur = $(this).attr('class');
if ($('#div1').attr('src') == roz) {
$('#div1').children('img').remove();
$('#div1').append('<img src="img/300.jpg" />');
} else {
$('#div1').children('img').remove();
$('#div1').append('<img src="img/106.jpg" />');
}
e.preventDefault();
alert($('#div1').html());
});
});