Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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 attr show object的值_Javascript_Jquery_Attr_Imagesource - Fatal编程技术网

Javascript attr show object的值

Javascript attr show object的值,javascript,jquery,attr,imagesource,Javascript,Jquery,Attr,Imagesource,我正在尝试定制一个插件来满足我的需要。我试图做的是,当我从一组图像中点击一个图像时,我会得到图像的src,并用该图像还原插件。我遇到的问题是,当我得到图像的源时,它给了我[object object],而不是实际的源。我使用$(this.attr(“src”)获取图像源 所以我的代码基本上是这样的: <div id="images"> <img src="image1"/> <img src="image2"/> &

我正在尝试定制一个插件来满足我的需要。我试图做的是,当我从一组图像中点击一个图像时,我会得到图像的src,并用该图像还原插件。我遇到的问题是,当我得到图像的源时,它给了我[object object],而不是实际的源。我使用$(this.attr(“src”)获取图像源

所以我的代码基本上是这样的:

    <div id="images">
      <img src="image1"/>
      <img src="image2"/>
      <img src="image3"/>
      <img src="image4"/>
    </div>

$(document).ready(function(){
  $("#images img").on("click", function(){
    var img_src=$(this).attr("src");
    $("#id").plugin({
      image:img_src
    });
});
});
<img id="img1" class="useImg" src="http://fc01.deviantart.net/fs71/f/2013/032/8/3/papa_happy_by_ovilia1024-d5tfw0h.png" width="30px" height="30px" />
<img id="img2" class="useImg" src="http://fc01.deviantart.net/fs70/f/2013/032/a/b/papa_horrified_by_ovilia1024-d5tfwdt.png" width="30px" height="30px" />

$(文档).ready(函数(){
$(“#图像img”)。在(“单击”,函数(){
var img_src=$(this.attr(“src”);
$(“#id”).plugin({
图片:img_src
});
});
});
编辑:我更新了我的代码,以便更清楚地了解我的要求

更新:事实上,即使我从代码中删除了所有其他js,代码也不起作用。但它在JSFIDLE中工作


更新2:所以我在互联网上寻找解决方案,我使用的插件似乎以某种方式覆盖了attr函数。有没有办法阻止它这样做?或者创建一个不受插件影响的jQuery实例?

尝试通过输出到控制台来探索该对象的内容

将Firefox Firebug或Chrome集成开发人员控制台与F12配合使用

打开控制台,修改您的代码:

var img_src=$(this).attr("src");
console.log(img_src);
$("#id").plugin({
  image:img_src
});
并检查输出


$(“img”).attr(“src”)
应该是字符串。

尝试通过输出到控制台来探索该对象的内容

将Firefox Firebug或Chrome集成开发人员控制台与F12配合使用

打开控制台,修改您的代码:

var img_src=$(this).attr("src");
console.log(img_src);
$("#id").plugin({
  image:img_src
});
并检查输出


$(“img”).attr(“src”)
应该是字符串。

这实际上是CSS选择器的问题

它不会工作,因为图像img不会像你期望的那样工作!!!它应该是
img#images
来引用id为
images
img

因此,如果您有如下HTML:

    <div id="images">
      <img src="image1"/>
      <img src="image2"/>
      <img src="image3"/>
      <img src="image4"/>
    </div>

$(document).ready(function(){
  $("#images img").on("click", function(){
    var img_src=$(this).attr("src");
    $("#id").plugin({
      image:img_src
    });
});
});
<img id="img1" class="useImg" src="http://fc01.deviantart.net/fs71/f/2013/032/8/3/papa_happy_by_ovilia1024-d5tfw0h.png" width="30px" height="30px" />
<img id="img2" class="useImg" src="http://fc01.deviantart.net/fs70/f/2013/032/a/b/papa_horrified_by_ovilia1024-d5tfwdt.png" width="30px" height="30px" />

在这里运行演示:

这实际上是一个CSS选择器问题

它不会工作,因为图像img不会像你期望的那样工作!!!它应该是
img#images
来引用id为
images
img

因此,如果您有如下HTML:

    <div id="images">
      <img src="image1"/>
      <img src="image2"/>
      <img src="image3"/>
      <img src="image4"/>
    </div>

$(document).ready(function(){
  $("#images img").on("click", function(){
    var img_src=$(this).attr("src");
    $("#id").plugin({
      image:img_src
    });
});
});
<img id="img1" class="useImg" src="http://fc01.deviantart.net/fs71/f/2013/032/8/3/papa_happy_by_ovilia1024-d5tfw0h.png" width="30px" height="30px" />
<img id="img2" class="useImg" src="http://fc01.deviantart.net/fs70/f/2013/032/a/b/papa_horrified_by_ovilia1024-d5tfwdt.png" width="30px" height="30px" />


在这里运行演示:

attr返回对象而不是源值的原因是我使用的插件重写了attr函数。我修改了它,将src作为字符串而不是对象返回。删除它也解决了这个问题,但插件需要定制一个。感谢所有试图帮助我的人,我非常感谢。

attr返回对象而不是源值的原因是我使用的插件重写了attr函数。我修改了它,将src作为字符串而不是对象返回。删除它也解决了这个问题,但插件需要定制一个。感谢所有试图帮助我的人,我真的很感激。

你能分享到jsfiddle.net的链接吗?我想看看这是什么。'this'是$(“#images img”)。在('click',function(){中,然后试着提醒$(this).value(),看看你是否得到了正确的值来破坏我的代码。with.value()表示没有这样的函数,with.value给出了unfinedsorry,在jquery中,它应该是.val()你能分享一个到jsfiddle.net的链接吗?我想看看这是什么。'this'是$(“#images img”)。在('click',函数(){。然后尝试提醒$(this).value(),看看你是否得到了破坏我的代码的正确值。with.value()它说没有这样的函数,并且它给出了未定义的.value。在jquery中,它应该是.val()[img,context:img,jquery:“1.9.0”,构造函数:函数,init:function,选择器:”“…]这是控制台中打印出来的内容,还有一堆其他信息,这些信息包含有关单击图像的各种信息。@khuderm您最好发布整个
click()
函数在这里,这样我们就可以看到你的
这个
在里面是什么上下文。记录这个和图像源给出了相同的东西。这是我点击的图像。代码太大了,无法在这里发布。它打印的基本上是相同的东西。我不知道如何向用户显示它you@khuderm检查每一个可能的原因将花费太多的时间像这样。尝试使用尽可能少的代码创建jsfiddle.net,您可以重现该错误。[img,context:img,jquery:“1.9.0”,构造函数:函数,init:function,选择器:”“…]这是控制台中打印出来的内容,还有一堆其他信息,这些信息包含有关单击图像的各种信息。@khuderm您最好发布整个
click()
函数在这里,这样我们就可以看到你的
这个
在里面是什么上下文。记录这个和图像源给出了相同的东西。这是我点击的图像。代码太大了,无法在这里发布。它打印的基本上是相同的东西。我不知道如何向用户显示它you@khuderm检查每一个可能的原因将花费太多的时间像这样。尝试用尽可能少的代码创建jsfiddle.net,您可以重现该错误。但是#images中有许多图像。我如何获得正确的图像源?但是您这样做的方式,我必须为所有图像创建单击事件images@khuderm我更新了代码,您可以设置
添加到您想要选择的图像。但是#图像中有许多图像。我如何获得正确的图像源?但是,按照您的方式,我必须为所有图像创建单击事件images@khuderm我更新了代码,您可以将
class=“useImg”
设置为要选择的图像。但是您知道
“#images img”
不是明智之举,对吧?但你知道
“#images img”
不是明智之举,对吧?