Javascript 添加document.ready时代码不起作用

Javascript 添加document.ready时代码不起作用,javascript,jquery,Javascript,Jquery,下面的代码在JSFIDLE上运行良好,没有$(document).ready(function(){)和右括号。(例如:)但是当我将代码放在我的网页上并准备好文档时,它就停止工作了。我缺少什么吗?我已经包括了jquery <script type="text/javascript"> $(document).ready(function() { function showDiv(element, pro2) { if (pro2.children("optio

下面的代码在JSFIDLE上运行良好,没有
$(document).ready(function(){
)和右括号。(例如:)但是当我将代码放在我的网页上并准备好文档时,它就停止工作了。我缺少什么吗?我已经包括了jquery

<script type="text/javascript">
$(document).ready(function() {
    function showDiv(element, pro2) {
        if (pro2.children("option:selected").val() == "cpl") element.show();
        else element.hide();
    }

    var myElement = $("div#pro2");
    var mypro2 = $("select#ptype");

    $("select").change(function() {
        showDiv(myElement, mypro2)
    });
});
</script>

$(文档).ready(函数(){
函数showDiv(元素,pro2){
if(pro2.children(“option:selected”).val()=“cpl”)元素.show();
else元素。hide();
}
var myElement=$(“div#pro2”);
var mypro2=$(“选择#ptype”);
$(“选择”).change(函数(){
showDiv(myElement,mypro2)
});
});

是否有理由不希望将其包装在文档就绪处理程序中

似乎在执行javascript时DOM尚未就绪


检查javascript控制台。Google Chrome非常适合JS调试。

问题是我的css文件中的字符输入错误。-感谢测试人员。

您的JSFIDLE有一个自动将代码包装到
文档中的设置。ready()
。这就是为什么它在JSFIDLE中没有
ready()
(请参见左上面板中的where is says
onload


document.ready()除非您将javascript放在正文HTML之后,否则常规网页中需要使用

javascript控制台中的任何内容?对我来说都很好。通常情况下,尽管您会将函数声明保留在ready函数的作用域之外。@jli-我更喜欢在document ready的作用域内,如果这是唯一使用它们的地方。是的“这是一个文档就绪的外观更混乱,但它可以帮助防止与其他代码冲突。@nnnnnn我想在这种情况下这更像是一个首选项。@acctman是的,它对我有用。我只是使用Chrome的内置控制台,或者如果我使用Firefox,我使用Firebug。我确实希望它包装在一个中,原来的示例代码现在已经准备好了一个文档,我需要它。”我不是想自己加上去的,是我自己做的