UPDATE:jQuery的 - 用長度找到Ajax調用後格
的問題是格在那被隱藏,當div的是隱藏的長度,偏移(),位置(一個div)無法正常工作。
//原始帖子在下面。
這應該很簡單。
我想要測試,如果一個div一個ajax的.html()輸出後的頁面上exsists
if($('#'+mydiv).length != 1) { // do stuff }
只存在一個問題,如果你的DIV的搜索是不存在的時候(文件).ready已經啓動,然後.length看不到它。
UPDATE:jQuery的 - 用長度找到Ajax調用後格
的問題是格在那被隱藏,當div的是隱藏的長度,偏移(),位置(一個div)無法正常工作。
這應該很簡單。
我想要測試,如果一個div一個ajax的.html()輸出後的頁面上exsists
if($('#'+mydiv).length != 1) { // do stuff }
只存在一個問題,如果你的DIV的搜索是不存在的時候(文件).ready已經啓動,然後.length看不到它。
您可以使用類似:
$('#loader').load('url', {variable1:var1}, function() {
if($('#'+mydiv).length != 1) {
// do stuff
}
});
這應該尋找您的負載通話加載完成後加載的東西。
你可以只使用大小()方法
if($('#'+mydiv).size() != 1) {
// do stuff
}
這講述的DOM元素匹配的數量。
如果你正在執行一個異步請求,我假設你是(JQuery中的async:true
),那麼你應該在你的函數的成功回調中使用size(),在添加內容之後。
$.ajax({
url: requestUrl,
type: 'POST',
dataType: 'json',
data: {},
success: function(response) {
$('#container').html(response.data);
if($('someSearch').size() > 0)
alert('exists');
}
});
我碰上與股票完全相同的問題後,頁面內容已經使用AJAX加載 - 我的解決辦法是使用的liveQuery插件:http://github.com/brandonaaron/livequery/downloads。然後我用以下方式使用它:
$('.ticker').livequery(function() {
if ($(this).length > 0) {
var thisObj = $(this);
if (thisObj.length > 1) {
jQuery.each(thisObj, function() {
systemObject.tickerExe($(this));
});
} else {
systemObject.tickerExe(thisObj);
}
}
});
我希望這有助於。
檢查長度時確保您的div未隱藏。通常,隱藏的div可能會導致很多問題。
可以顯示ajax調用的代碼,一個常見的錯誤是不等待ajax調用完成,請記住它是異步的,並且在從服務器收到任何響應之前,初始調用將返回到腳本。任何與任何新內容進行交互的代碼都需要處於ajax調用的回調方法中。 – 2011-02-04 06:44:04