为什么.attr('title')正在抓取前一个元素'的标题
Why is .attr('title') grabbing the previous element's title
更新Flexslider有一堆回调空间可供使用,这使得这成为可能。
after: function(){}, //Callback: function(slider) - Fires after each slider animation completes
感谢大家
实时代码:
我上传了实时代码进行调试;因为要制作一个jsfiddles就相当困难了。
问题:函数fetchTitle()获取上一个图像标题,而不是最新的?
解释:我有一个函数falled fetchTitles()
,它从flexslider的活动幻灯片中获取标题标签,并将其放入可变的targetTitle
中。然后用targetTitle
替换h1.head_line
脚本:(从完整脚本开始配对,请查看完整的实时代码)
function fetchTitles() {
var targetTitle = $('.flex-active-slide').find('img').attr('title');
$('.head_line').text(targetTitle);
}
HTML
<li class="flex-active-slide">
<article class="active_work" title="Facebook + Like Pillow">
<figure> <img title="Facebook + Like Pillow" src="asset/img/1600/slide1_1600.jpg" />
<figcaption class="sliderCaptions">
<h1>
<div class="animate_text"></div>
<a href="https://plus.google.com/104865624796200130935/" ><span>Author:</span> Matthew Harwood</a></h1>
</figcaption>
</figure>
<section class="article_post"></section>
</article>
</li>
附加信息:
- 如果你点击链接两次,你会看到标题会自动更新
- 即使有
.flex-active-slide
就绪,文档就绪上的获取标题也会显示为未识别 - 脚本位于
script2.js
中源的底部
这确实是一个时间问题。如果我引入setTimeout,问题就消失了
function fetchTitles() {
setTimeout(function()
{
var targetTitle = $('.flex-active-slide').find('img').attr('title');
$('.head_line').text(targetTitle);
},200);
}
改用$.prop
:
var targetTitle = $('.flex-active-slide').find('img').prop('title');
属性和属性之间的差异在特定情况下可能很重要jQuery 1.6之前,
.attr()
方法在检索某些属性时有时会考虑属性值,这可能会导致行为不一致从jQuery 1.6开始,.prop()
方法提供了显式检索属性值的方法,而.attr()
检索属性。
在幻灯片动画完成之前,类似乎不会更新,但只要单击即可运行fetchTitles,因此具有"flex active slide"类的图像仍然是前一个图像。
您可能想研究在回调函数中运行fetchTitles,以便它在幻灯片完成后运行。
相关文章:
- 使用clickToggle并在单击另一个元素时关闭元素
- 表追加而不附加最后一个元素
- 滚动到容器中的下一个元素-几乎到了
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 按我自己的类克隆另一个元素的内容和顺序
- Javascript获取上一个元素的内容
- 如何通过HTML+CSS中的另一个元素Selector更改元素的属性值
- 在数组中的一个元素上设置多个值
- 无法选择除一个元素外的所有元素
- 使用jquery contains获取一个元素并添加类
- $(.class).empty总是缺少一个元素
- jQuery-将列表项的一个元素移动到同一项的另一个元素中+对我的列表中的每个项执行此操作
- 如何在一个元素动画之后延迟
- jQuery转盘下一个元素没有滑入
- jquery从另一个元素中移除移除
- DIV怎么能像Javascript中的另一个元素一样工作呢
- 当知道同一hiearch中至少有一个元素时,遍历到元素.结构使用jquery
- 使用数据属性将HTML数据复制到另一个元素
- 如何选择给定类的上一个元素
- 动态修改一个元素,使其与给定的选择器匹配