好吧,正在发生一些非常令人沮丧和奇怪的事情。我的服务器上安装了 JQuery,并且我知道它已正确导入,因为当我运行一个简单的...
$(function() { alert('hello') });
它会发出“你好”警报。但是,当我尝试使用 css 选择器时...
$(".image").css("border","3px solid red");
这不起作用!是的,我 100% 确定文件中存在具有该类名的内容。这是真正的亮点,当我将代码复制粘贴到 jsFiddle 中时,它工作得很好。是什么赋予了?!
最佳答案
您的 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>
参见this answer有关放置 <script>
的更多详细信息适当标记。
关于JQuery 在 JS fiddle 中可以工作,但不能在我的网站上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17417326/