2012-03-02 38 views
0

我有一些問題顯示我隱藏的股利。出於某種原因#ElementId選擇器不工作,但如果我只是使用ElementId它的作品。JQuery選擇器 - #ElementId不工作只是ElementId很好

Jquery 1.7.1我也使用JQuery UI。

$('CreateGroup').show("fold"); // this works fine 
$('#CreateGroup').show("fold"); // this fails with cannot call show on undefined 

<div id="CreateGroup" style="display: none">Hi!</div> 

發生了什麼事?

謝謝

+2

你說的是不可能的 - http://jsfiddle.net/EU3jN/ – 2012-03-02 12:19:32

+0

也許創建一個http://jsfiddle.net/與代碼不工作... – ManseUK 2012-03-02 12:20:49

+5

@Piercy,機會是你的'$()'函數來自Prototype,而不是jQuery。你是否在你的頁面中包含這兩個庫? – 2012-03-02 12:21:39

回答

0

@Piercy,機會是你的$()函數來自原型,不是jQuery。你是否在你的頁面中包含這兩個庫? - FrédéricHamidi 3月2日12:21

這是正確的,它是原型干涉。如果我使用完全的jQuery限定符,它可以工作。

0

兩者都應該失敗。因爲你不使用document.load事件(又名$(function(){});又名$('document').ready()

您的代碼是不可能

節點已經當腳本調用尚未確定

但這會工作:。

<div id="CreateGroup" style="display: none">Hi!</div> 
<script type="text/javascript">$('#CreateGroup').show("fold");</script> 

因爲它調用的節點定義之後。

你如果您使用上述加載方法,請不要擔心。

<script type="text/javascript"> 
    $(function() { 
     $('#CreateGroup').show("fold"); 
    }); 
</script> 

<div id="CreateGroup" style="display: none">Hi!</div> 

這將起作用,因爲在加載整個文檔之前腳本不會被執行。

1

您確定在調用函數時已經創建了該元素嗎?

試試這個,以確保它運行後的DOM已準備就緒:

$(window).ready(function() { 
$('#CreateGroup').show("fold"); 
}); 

更多信息:

.ready()

相關問題