Jquery attr('src') undefined in IE 8 (works in FF)

前端 未结 7 1640
广开言路
广开言路 2021-01-18 07:22

This has gotten so far,that I will sum up what we found out:

  • Inside the event handler the attribute src cannot be read in IE8 (FF works fine), neither with

7条回答
  •  野趣味
    野趣味 (楼主)
    2021-01-18 07:56

    This has gotten so far,that I will sum up what we found out:

    • Inside the event handler the attribute src cannot be read in IE8 (FF works fine), neither with jQuery nor with usual javascript

    • The only way to get the data was to get it outside the handler, write it to an array and read it afterwards from the inside of the handler

    • But there was still no possibility to write to src (neither jQuery nor javascript worked - only for IE 8)

    • I've got it working by writing the img elemts themselves to the document, but the reason behind this problem is no solved

    The new code

    relcounter = 1;
    imgleft_array = new Array();
    jQuery('.Image_left').each(function(){
        imgleft_array[relcounter] = jQuery(this).attr('src');
        relcounter++;
    });
    relcounter = 1;
    imgcenter_array = new Array();
    jQuery('.Image_center').each(function(){
        imgcenter_array[relcounter] = jQuery(this).attr('src');
        relcounter++;
    });
    relcounter = 1;
    imgright_array = new Array();
    jQuery('.Image_right').each(function(){
        imgright_array[relcounter] = jQuery(this).attr('src');
        relcounter++;
    });
    
    //view entry
    jQuery('.blogentry').live('click',function(){
        // Get contents
        entryindex = jQuery(this).attr('rel');
        blogtext = jQuery(this).children('.blogtext').html();
        blogauthor = jQuery(this).children('.onlyblogauthor').html();
        blogtitle = jQuery(this).children('.blogtitle').html();
        profileimage = jQuery(this).children('.profileimage').html();
        imgleft = imgleft_array[entryindex];
        imgcenter = imgcenter_array[entryindex];
        imgright = imgright_array[entryindex];
    
        // Write contents
        jQuery('#entryimages').html('');
        jQuery('#entryimages').html('');
    
        jQuery('.person').attr('src', profileimage);
        jQuery('#g_fb_name').html(blogauthor);
        jQuery('#g_titel').html(blogtitle);
        jQuery('#g_text').html(blogtext);
    
    });
    

    So I am just not using .attr('src') in the event handler....

提交回复
热议问题