获取插入jQuery的DOM元素,而无需在插入后重新查询元素

时间:2011-05-10 12:00:32

标签: javascript jquery reference dom

假设我使用jQuery在我的DOM中插入任何内容,如下所示:

$('#someselector').prepend('<img src="/img/myimage.gif" id="someid" />');

jQuery中有没有办法让jQuery对象引用这个新图像,而不必像

那样进行额外的搜索
var myImage = $('#someselector #someid');

???

3 个答案:

答案 0 :(得分:11)

在预先添加之前将它变成jQuery对象

var $img = $('<img src="/img/myimage.gif" id="someid" />');    
$('#someselector').prepend($img);    
$img.foo();

答案 1 :(得分:5)

您可以尝试这样的事情:

$('#someselector')
    .prepend('<img src="/img/myimage.gif" id="someid" />')
    .find('#someid');

或者如果只有一个img:

$('#someselector')
    .prepend('<img src="/img/myimage.gif" id="someid" />')
    .find('img');

可替换地:

$('<img src="/img/myimage.gif" id="someid" />').prependTo('#someselector')

答案 2 :(得分:1)

解决方案,无需在创建Id之前创建jQuery对象:

var $img = $('#someselector')
            .prepend('<img src="/img/myimage.gif" />')
            .find(':first');