JQuery选择器 - #ElementId不起作用只是ElementId很好

时间:2012-03-02 12:18:11

标签: javascript jquery html jquery-ui jquery-selectors

我有一些问题显示我隐藏的div。由于某种原因,#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>

发生了什么事?

由于

3 个答案:

答案 0 :(得分:1)

你确定在调用函数时已经创建了元素吗?

尝试这样做以确保它在DOM准备就绪后运行:

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

更多信息:

.ready()

答案 1 :(得分: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>

这将起作用,因为在整个文档加载之前不会执行脚本。

答案 2 :(得分:0)

@Piercy,你的$()函数可能来自Prototype,而不是jQuery。您是否在页面中包含了两个库? - FrédéricHamidi3月2日12:21

这是正确的原型干扰。如果我使用完全jQuery限定符,它的工作原理。