所以我正在使用endless scrolling,当我滚动x个像素数量时,会向页面添加新对象。但是如何使用jQuery检查是否在页面中添加了新元素(class
或id
)?
(我想检查一下,因为如果添加了一个新元素,我想在新元素上做一些jQuery。)
答案 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
});