Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery attr方法在';onMouseCenter';_Javascript_Jquery - Fatal编程技术网

Javascript Jquery attr方法在';onMouseCenter';

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> &

这是真实的情况: 正如我所说,我有12个不同的DIV和这样的页面。我已经链接了js文件 index.html:

 <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);
}