从js Object获取img源代码

时间:2016-07-31 11:23:52

标签: javascript jquery object

我有一个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不是函数

4 个答案:

答案 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)

您确实想使用thisval,它引用迭代中的当前元素:

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”类的元素子元素的图像源。