jQuery使用变量获取img src?
我已经读了100多篇关于这方面的文章,但无论我做什么,我都无法做到我想做的。我的问题是我从我的jQuery使用变量获取img src?,jquery,html,variables,image,Jquery,Html,Variables,Image,我已经读了100多篇关于这方面的文章,但无论我做什么,我都无法做到我想做的。我的问题是我从我的脚本中获取我的img src=“url”。当我提醒它时,它会给我想要的正确输入,但是当我把它放在attr()标记中时,我只是在图像的路径中发布“imgSrc”。当我在mouseover函数中对图像进行硬编码时,它实际上可以工作 这是我的剧本 <script> $(document).ready(function(){ //Hides the images
脚本中获取我的img src=“url”
。当我提醒它时,它会给我想要的正确输入,但是当我把它放在attr()
标记中时,我只是在图像的路径中发布“imgSrc
”。当我在mouseover函数中对图像进行硬编码时,它实际上可以工作
这是我的剧本
<script>
$(document).ready(function(){
//Hides the images
$('#imgwrap img').hide();
//Create variables for Link & Images
$('a.imgflash').mouseover(function(){
var linkRel = $(this).attr('rel');
$('#imgwrap img').each(function(i,ele){
if($(this).attr('rel') == linkRel) {
var imgSrc = $(this).attr('src');
}
});
});
//Script that makes images apears
//Mouseover Script
$('a.imgflash').mouseover(function(){
$('#imgwrap img').attr("src", imgSrc).show();
});
});
</script>
$(文档).ready(函数(){
//隐藏图像
$('imgwrap img').hide();
//为链接和图像创建变量(&I)
$('a.imgflash').mouseover(函数(){
var linkRel=$(this.attr('rel');
$('imgwrap img')。每个(函数(i,ele){
if($(this).attr('rel')==linkRel){
var imgSrc=$(this.attr('src');
}
});
});
//制作图像的脚本
//鼠标悬停脚本
$('a.imgflash').mouseover(函数(){
$('#imgwrap img').attr(“src”,imgSrc.show();
});
});
这是我的HTML
<ul>
<li><a rel="demo1" class="imgflash" href="#">demo1</a></li>
<li><a rel="demo2" class="imgflash" href="#">demo2</a></li>
<li><a rel="demo3" class="imgflash" href="#">demo3</a></li>
</ul>
<div id="imgwrap" style="width:300px; height:300px; overflow:hidden;">
<img rel="demo1" src="images/lux.jpg">
<img rel="demo2" src="images/cover.jpg">
<img rel="demo3" src="images/cover2.jpg">
</div>
我希望你能帮助我如何让我的变量“imgSrc”像我想在mouseover函数中那样发布
var imgSrc = '';
//Create variables for Link & Images
$('a.imgflash').mouseover(function(){
var linkRel = $(this).attr('rel');
$('#imgwrap img').each(function(i,ele){
if($(this).attr('rel') == linkRel) {
imgSrc = $(this).attr('src');
}
});
});
您需要在mouseover事件函数之外定义imgSrc变量,因为当您试图将它应用于attr
时,它不存在
您可以在此处阅读有关局部/全局变量的更多信息:
不需要两个鼠标悬停处理程序。让你的第一个人同时做两件事:
$(document).ready(function() {
//Hides the images
$('#imgwrap img').hide();
//Create variables for Link & Images
$('a.imgflash').mouseover(function() {
var linkRel = $(this).attr('rel');
$('#imgwrap img').each(function(i, ele) {
if ($(this).attr('rel') == linkRel) {
$(this).show();
}
});
});
});
或者更好:
$(document).ready(function() {
//Hides the images
$('#imgwrap img').hide();
//Create variables for Link & Images
$('a.imgflash').mouseover(function() {
var linkRel = $(this).attr('rel');
$('#imgwrap img[rel="'+linkRel+'"]').show();
});
});
属性是否已弃用?请改用prop
。除非低于1.6Hmm版。。。那我的错。。。我可以发誓我在什么地方读到过。现在我遇到了更多的问题,如果我再次陷入困境,我会发帖:)@Nopzen很高兴我能帮上忙!通常,如果答案对您有效,您会接受它,以便我们知道您的问题已得到解决。您有两个鼠标悬停处理程序用于$('a.imgflash')
-在其中一个中创建的局部变量(例如imgSrc)在另一个中不可用。为什么是两个?从代码中我甚至不知道你想做什么。你能解释一下你想在鼠标上方发生什么吗?