麻煩我使用下面的代碼來檢查是否存在某個div。如果它沒有把它添加到合適的地方。與jquery的追加和prepend
if (!($("#col"+lastSlide).length))
{
$('#schDisplay').prepend('<div id="col' + (lastSlide) + '"></div>');
}
我的問題是,當這個如果再語句檢查了已經一度被追加/前置一個div,它不會看到我添加的格。所以它會繼續添加已經預先/附加的div。
有什麼辦法可以解決這個問題嗎?
更多的代碼:
//fillin added column
function fillElement(colnum)
{
var URL = 'schedule.php';
$("#col"+colnum).text("Loading...").show();
$.post(URL,{fecolnum: colnum},
function (data)
{
$("#col"+colnum).html(data).show();
});
}
//...irrelevant code...
// Create event listeners for .arrows clicks
$('.arrows')
.bind('click', function(){
numberOfSlides++;
// Determine new position
if ($(this).attr('id')=='arrow_right')
{
lastSlide++;
currentPosition++;
if (!($("#col"+lastSlide).length))
{
$('#schDisplay').append('<div id="col' + lastSlide + '" class="schColumn" style="float: left; width: ' +slideWidth+ 'px"></div>');
fillElement(lastSlide);
}
}
else
{
lastSlide--;
currentPosition--;
if (!($("#col"+lastSlide-2).length))
{
$('#schDisplay').prepend('<div id="col' + (lastSlide-2) + '" class="schColumn" style="float: left; width: ' +slideWidth+ 'px"></div>');
fillElement(lastSlide-2);
}
}
您需要顯示更多上下文。我無法從你的問題中知道'#col'+ lastSlide和'#schDisplay'是如何相關的。從你告訴我的內容來看,當你添加到#schDisplay時,'#col'+ lastSlide完全可能不會改變。 – Flimzy
沒有足夠的信息。請發佈相關代碼。 – user113716
我更新了問題並添加了更多代碼。我有這樣的感覺,我可能需要在某處使用.live(),但我不確定正確的語法將在何處或什麼。 – y3di