我有一些麻煩jQuery選擇一些程序生成的div麻煩選擇使用jQuery
我使用google visualization table顯示,每頁20個結果一些查詢結果的工作程序生成的按鈕。當查詢返回超過20個結果(並且只有當結果超過20個時),分頁按鈕出現在搜索結果窗格的底部。
<div class="google-visualization-table-div-page">
<div class="a-b-c a-d-e a-d-e-j a-d-e-o-p" title="" aria-disabled="true"
role="button" style="-moz-user-select: none;">
<div class="a-b-c a-d-e-f-g">
<div class="a-b-c a-d-e-h-g"><<</div>
</div>
</div>
<div class="a-b-c a-d-e a-d-e-o-q" title="" role="button"
style="-moz-user-select: none;" tabindex="0">
<div class="a-b-c a-d-e-f-g">
<div class="a-b-c a-d-e-h-g">>></div>
</div>
</div>
</div>
</div>
我的目標是將這些相同的分頁按鈕添加到窗格的頂部。不幸的是,複製和粘貼結果窗格上方的那些div無法工作,所以我的計劃是使用jquery的click事件來使頂部的複製/粘貼按鈕以編程方式點擊底部的按鈕。
我的按鈕與上面的div中的按鈕完全相同,只是添加了id。
<div id="top_prev" class="a-b-c a-d-e a-d-e-j a-d-e-o-p" style="-moz-user-select: none;" role="button" aria-disabled="true" title="">
<div id="top_next" class="a-b-c a-d-e a-d-e-o-q" tabindex="0" style="-moz-user-select: none;" role="button" title="">
不幸的是,我試過的jquery沒有工作,而我在調試時,我想我偶然發現了這個問題。這裏是我的調試JQuery的:
$(document).ready(function()
{
$("#top_prev").click(function(){
if ($(".a-b-c a-d-e a-d-e-j a-d-e-o-p").length) {
alert("top_prev success");
}else
{
alert("top_prev fail");
}
});
$("#top_next").click(function() {
if ($(".a-b-c a-d-e a-d-e-o-q").length)
{
alert("top_next success");
}else
{
alert("top_next fail");
}
});
這將導致「top_next失敗」或「失敗top_prev」盒子正在生成這些div時甚至會出現。這些按鈕的javascript和html甚至在之後生成生成結果窗格,因此底部按鈕應該在頂部按鈕之前生成。
我想我很難理解爲什麼這些選擇器不工作。這裏是我試過的原始的.click jquery:
$(document).ready(function(){
$("#top_prev").click(function(){
$(".a-b-c a-d-e a-d-e-j a-d-e-o-p").click();
});
$("#top_next").click(function() {
$(".a-b-c a-d-e a-d-e-o-q").click();
});
});
那不點擊自己呢?;) – Archer 2012-03-08 15:21:31
@Archer:不要傻,這就是'not(this)'(now)檢查的對象:P;) – Matt 2012-03-08 15:27:08
爲什麼我沒有發現:p – Archer 2012-03-08 15:27:38