Javascript Jquery attr方法在';onMouseCenter';
这是真实的情况: 正如我所说,我有12个不同的DIV和这样的页面。我已经链接了js文件 index.html:Javascript Jquery attr方法在';onMouseCenter';,javascript,jquery,Javascript,Jquery,这是真实的情况: 正如我所说,我有12个不同的DIV和这样的页面。我已经链接了js文件 index.html: <div id="images_puzzle"> <div> <img /> <p></p> </div> <div> <img /> <p></p> </div> &
<div id="images_puzzle">
<div>
<img />
<p></p>
</div>
<div>
<img />
<p></p>
</div>
<div>
<img />
<p></p>
</div>
<div>
<img />
<p></p>
</div>
<div>
<img />
<p></p>
</div>
<div>
<img />
<p></p>
</div>
<div>
<img />
<p></p>
</div>
<div>
<img />
<p></p>
</div>
<div>
<img />
<p></p>
</div>
<div>
<img />
<p></p>
</div>
<div>
<img />
<p></p>
</div>
<div>
<img />
<p></p>
</div>
</div>
</div>
我能看到的唯一问题是showthile方法可能不在全局范围内,所以请尝试
function setPuzzleImages() {
// alert('loading images...');
var $index = 1;
var $IMGs = $('#images_puzzle IMG');
$IMGs.each(function () {
$(this).attr({ 'src': 'images/105-100/' + $index + '.jpg','onmouseover':'showTitle('+$index+');'});
$index++;
});
}
function showTitle($index) {
alert('this is the'+$index+'image');
}
演示:
如果将方法添加到全局范围,ode工作正常
演示:
基于更新
$myImg = $('img')
$myImg.attr({
src: 'myPic.png'
}).mouseover(showTitle);
function showTitle() {
alert('Hello World');
}
再解释一下please@AliRashidi谷歌
.prop()
它不需要更多的解释,效果非常好。你能为这12个div显示你的标记吗!?你为什么说mouseover
做不了你想做的事?我说过我不想使用jquery mouseovermethod@AliRashidi-为什么不呢?@EdHeal我需要为单个img设置单个属性。@AliRashidi-那么使用mouseover方法如何防止您这样做呢?使用Jquery.mouseover将给定属性设置为所有图像。每个img都有一个索引,很抱歉,我没有在这里提到,您的答案适用于这种情况,但不适用于我的:(
function setPuzzleImages() {
var $IMGs = $('#images_puzzle IMG');
$IMGs.mouseover(showTitle).attr('src', function (i) {
return 'images/105-100/' + (i + 1) + '.jpg'
})
}
function showTitle() {
console.log('Hello World', this);
}