1

我的范围有问题。对不起这个noobish问题。

我正在尝试使用 jQuery 将图像附加到父 div,但不知道如何将变量“theParent”传递给加载函数。

// inside a this.each loop

    var theParent = $(this).parent('div.parent'); 

    var img = $("<img />")
                .attr('src', '/path/img.jpg')
                .error(function(){ console.log('error'); })
                .load(function(){
                    img.addClass('myClass'); // <-- not working plz help
                    theParent.append(img); // <-- not working plz help
                    });
4

4 回答 4

3

LIVE DEMO

$(this).addClass('myClass');会工作,但使用:

var img = $("<img />", {
          "src"   : '/images/favicon.png',
          "class" : 'myClass'
      })
      .error(function(){ console.log('error'); })
      .load(function(){
                img.appendTo( theParent ); 
      });
于 2013-04-08T15:20:12.247 回答
0

试试这个:

var theParent = $(this).parent('div.parent'); 

    var img = $("<img />", {
      src: '/path/img.jpg',
      "class": 'myClass' 
    }).appendTo(theParent);
于 2013-04-08T15:20:58.493 回答
0

根据http://api.jquery.com/load-event/,“this ”是加载事件附加到的对象。

于 2013-04-08T15:21:11.067 回答
0

您是否尝试过以下方法:

$('#theDiv').prepend('<img id="theImg" class="myClass" src="theImg.png" />')
于 2013-04-08T15:21:17.783 回答