我有一个js对象slider.controlNav
,它包含DOM元素。我需要保存在可变的图像源中,它包含与类'flex-active'
的链接。
jQuery.each(slider.controlNav, function(i, val) {
var dom_object = slider.controlNav.get(i);
console.log(dom_object)
});
热门代码返回:
<a href="#0" class="flex-active">
<img src="img/slider-portfolio/logos/__ico__Fason$Active.png">
</a>
<a href="#1>
<img src="img/slider-portfolio/logos/__ico__Web$Active.png">
</a>
<a href="#2" class="flex-active">
<img src="img/slider-portfolio/logos/__ico__New$Active.png">
</a>
我的代码:
jQuery.each(slider.controlNav, function(i, val) {
var dom_object = slider.controlNav.get(i).find('img').attr('src');
console.log(dom_object)
});
之后在控制台中我有错误:
未捕获TypeError:slider.controlNav.get(...)。find不是函数
答案 0 :(得分:0)
get
函数为您提供底层DOM对象。您需要将其转换为jQuery对象。
尝试$(slider.controlNav.get(i)).find('img').attr('src');
答案 1 :(得分:0)
请查看此代码。
jQuery("slider.controlNav a").each(function() {
var dom_object = jQuery(this).find('img').attr('src');
console.log(dom_object)
});
答案 2 :(得分:0)
您确实想使用this
或val
,它引用迭代中的当前元素:
jQuery.each(slider.controlNav, function(i, val) {
var src = jQuery(this).eq(i).find('img').attr('src');
console.log( src )
});
或者,只需按照以下方式使用普通JS:
slider.controlNav.forEach(function(val) {
var src = val.querySelector( 'img' ).src;
console.log( src );
});
答案 3 :(得分:0)
请参阅this jsbin
@Override
public void onResume() {
super.onResume();
bringToFrontIfNeeded();
}
@Override
public void onBackStackChanged() {
bringToFrontIfNeeded();
}
private void bringToFrontIfNeeded() {
// A fix for a weird google bug
if (amIOnTop() && (getView() != null)) {
getView().bringToFront();
}
}
private void amIOnTop() {
// depends on you app logic, can be something like
FragmentManager manager = getFragmentManager();
int count = manager.getBackStackEntryCount();
return (BACK_STACK_ENTRY_NAME.equals(manager.getBackStackEntryAt(count - 1).getName()));
}
这将仅返回具有“flex-active”类的元素子元素的图像源。