2014-09-26 74 views
-2

現在我正在一個簡單的HTML/Jquery頁面上工作。 在我的代碼我試圖專用重載 這裏是我的代碼,檢查出來,請:jQuery iframe通過許多具有相同ID的元素重新加載?

<script type="text/javascript"> 
$(document).ready(function() { 
$("#Reload").each(function(index) { 
    $(this).on("click", function(){ 
    $('#IframeReload')[0].contentWindow.location.reload(true); 
    }); 
}); 
}); 
</script> 

這裏是HTML代碼:

<iframe id="IframeReload" src="suggestions.php?id=<?PHP echo $membid;?>" target="_parent">Browser not compatible.</iframe> 


<div id="Reload" class="tooltip1" style="cursor:pointer;"></div> 
<div id="Reload" class="tooltip2" style="cursor:pointer;"></div> 
<div id="Reload" class="tooltip3" style="cursor:pointer;"></div> 

正如你可以看到我有很多元素ID爲「重新加載」。 有了這段代碼示例,當我只按第一個顯示的元素與id「重新加載」的iframe重新加載像supose重新加載,但是當我點擊任何其他div元素與id「重新加載」只是什麼都沒有發生,這就是問題。

如何讓我的jQuery代碼通過點擊ID爲「Reload」的每個元素來重新加載iframe?

在此先感謝!

+4

'IDs'應該是唯一的。期。 – melancia 2014-09-26 17:46:39

+0

而不是ID使用類然後在類上綁定事件。它會工作。 ID應該是唯一的。 – 2014-09-26 17:50:56

回答

-1

您需要頁面中每個元素的唯一ID。你應該做的是創建一個重載頁面的JavaScript函數,然後將每個div上的click監聽器分配給該函數。

另一種方法是使用ID,而不是使用ID,可以使用普通類,然後爲該類設置click偵聽器。

+0

說話,說話,無代碼。這是一個不完整的答案。我建議你在投票開始之前調整它。 – melancia 2014-09-26 17:53:57

0

問題在於你如何引用。

$("#Reload") 

上述代碼選擇具有該ID的第一個元素。

$("[id=Reload]") 

這將允許您選擇具有相同ID的所有元素。

你應該做的是按類名應用事件 - 這將是更整潔。

<div class="reload tooltip1" style="cursor:pointer;"></div> 
<div class="reload tooltip2" style="cursor:pointer;"></div> 
<div class="reload tooltip3" style="cursor:pointer;"></div> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.reload').on("click", function(){ 
      $('#IframeReload')[0].contentWindow.location.reload(true); 
     }); 
    }); 
</script> 

您應該保持元素ID屬性的唯一性。

0

標識在頁面上應該是唯一的。

<div class="reload tooltip1" style="cursor:pointer;"></div> 
<div class="reload tooltip2" style="cursor:pointer;"></div> 
<div class="reload tooltip3" style="cursor:pointer;"></div> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.reload').click(function(){ 
      $('#IframeReload')[0].contentWindow.location.reload(true); 
     }); 
    }); 
</script> 
相關問題