3

好吧,发生了一些非常令人沮丧和奇怪的事情。我的服务器上安装了 JQuery,并且我知道它已正确导入,因为当我运行一个简单的...

$(function() { alert('hello') });

它会提示“你好”。但是,当我尝试使用 CSS 选择器时...

$(".image").css("border","3px solid red");

这没用!是的,我 100% 确定文件中存在具有该类名的内容。这是真正的踢球者,当我将代码复制粘贴到jsFiddle 中时,它工作得很好。是什么赋予了?!

4

3 回答 3

7

您的 jsFiddle 设置onload在 jsFiddle 窗口的左上角。如果您将其设置为模拟标签中代码的“No Wrap - in Head” <head>,那么您的 jsFiddle 将不再工作。

onload设置意味着 jsFiddle 在页面加载之前不会运行您的 javascript。

在您的真实页面中,您可能在页面加载之前过早地运行了 javascript。

您可以通过将 javascript 放入它自己的.ready()函数中来解决此问题:

$(document).ready(function(){
    $(".image").css("border","3px solid red");
});

或者,您可以确保在标记之前不加载/运行 javascript,</body>这是一种确保在脚本运行之前加载页面内容的简单方法。

<body>
Your HTML content here

<script>
// your script here that runs after all of the DOM is parsed
$(".image").css("border","3px solid red");
</script>

</body>

有关适当放置标签的更多详细信息,请参阅此答案。<script>

于 2013-07-02T04:36:50.273 回答
0

你有测试在里面添加$(document).ready(function(){});吗?

<script src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
<script>
    $(document).ready(function(){
        $(".image").css("border","3px solid red");
    });
</script>
于 2013-07-02T04:28:47.277 回答
-2
if u have a internet connection following link useful for you 

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script> 

above link put inside a body or before write a script and please verify jquery js file.
于 2013-07-02T04:28:05.620 回答