Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
在jquery中更改图像的数据标题_Jquery_Fancybox - Fatal编程技术网

在jquery中更改图像的数据标题

在jquery中更改图像的数据标题,jquery,fancybox,Jquery,Fancybox,嗨,朋友们,我正在尝试在动态模式下更改a的数据标题 $("#btnchange").click(function(){ var newanchor= $(".fancybox a"); newanchor.attr('caption', 'i am new caption'); }); 当我点击图片在第三方插件(名为(fancybox)的工具中打开它时,它的标题没有显示出来 但当我尝试在默认情况下添加数据标题时,它如下所示: <a id='a1' class="fanc

嗨,朋友们,我正在尝试在动态模式下更改a的数据标题

$("#btnchange").click(function(){
    var newanchor=  $(".fancybox a");
    newanchor.attr('caption', 'i am new caption');
});
当我点击图片在第三方插件(名为(fancybox)的工具中打开它时,它的标题没有显示出来

但当我尝试在默认情况下添加数据标题时,它如下所示:

<a id='a1' class="fancybox" data-caption='hey' 
 href="http://farm8.staticflickr.com/7171/6417719753_374653e28c_b.jpg">
    <img src="http://farm8.staticflickr.com/7171/6417719753_374653e28c_m.jpg" alt=""/>
</a>

然后它就完美地展现出来了。看我的小提琴:

尝试使用
.data()
而不是
.attr()


而且你的选择器应该是
。fancybox
而不是
。fancybox a

你有错误的选择器,你当前的选择器将检查类
fancybox
中的锚。所以像这样更改代码

 $("#btnchange").click(function () {
      $("a.fancybox").attr("data-caption", "i am new caption");

 });


更改为数据效果很好……但我只看到了这么多通过关键字“attr”更改数据属性的示例,这就是为什么我尝试wid dat
newanchor.attr('caption'
不等于
newanchor.attr('data-caption'
这就是代码失败的原因。@user3860465存在另一个问题选择器有问题too@user3860465如果您觉得此处提供的任何答案满足您的需要,请尝试单击该答案的勾号,以便向未来的访问者表示您的接受……这不是强迫……)attr不工作…根据我们可以看到的答案..它是'data'@user3860465“attr不工作”。你怎么能说它不工作?它工作正常。@AnoopJoshi:OP的意思是你可以使用
attr()
方法设置新的
数据标题
属性,但不更改现有属性。如果是第二个属性,则应使用Raja@JFK建议的
.data(key,value)
格式。您可以检查此fiddle吗?。此处使用.attr()更改值 method@AnoopJoshi:嗯,你是对的,它确实发生了变化。然而,问题是fancybox的
标题
除非你使用
。数据(键、值)
。这里有一个关于这个主题的有趣讨论
 $("#btnchange").click(function () {
      $("a.fancybox").attr("data-caption", "i am new caption");

 });
$(document).on('click', '#btnchange', function() {
    $('a.fancybox').data('caption', 'i am new caption');
});