如何使用jQuery检查元素是否已添加到页面?

时间:2013-06-22 01:31:48

标签: javascript jquery

所以我正在使用endless scrolling,当我滚动x个像素数量时,会向页面添加新对象。但是如何使用jQuery检查是否在页面中添加了新元素(classid)?

(我想检查一下,因为如果添加了一个新元素,我想在新元素上做一些jQuery。)

1 个答案:

答案 0 :(得分:6)

在append()

之后,只需使用.length来检查它是否存在
$('#elemId').length;

像这样...

if($('#elemId').length > 0){ //your code here };

或者编写自己的函数....

jQuery.fn.Exists = function(){
    return jQuery(this).length > 0;
};

然后用它来返回真或假...

if($('#elemId').Exists()){ //your code here };  

或者您可以使用livequery()插件...

$('#elemID').livequery(function()
{
// do things here like binding new events and stuff.
// this function is called when an object is added.
// check the API for the deletion function and so on.
});

我似乎无法在jQuery网站上找到该插件,但它确实存在于某一点

您也可以尝试DOMNodeInserted ...

$(document).bind('DOMNodeInserted', function(e) {
console.log(e.target, ' was inserted');
});

如果您的选择器始终相同,您可以使用on()....

因此,例如,当你滚动时,你总是添加一个名为class =“newDiv”的新div ....

然后你想要执行的jquery ....如果你想绑定一个事件来点击......

$(document).on( 'click', '.newDiv', function(){ //your code here
 });