【问题标题】:JQuery works in JS fiddle, but not on my website? [duplicate]JQuery 在 JS fiddle 中工作,但不在我的网站上? [复制]
【发布时间】:2013-07-02 04:19:46
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 你确定jquery没有冲突吗?
  • 你把你的代码放在哪里了?在 DOM 中准备好了吗?窗口负载?页面底部?在纳尼亚?我很确定它可以在小提琴上工作,因为它默认将它放在窗口加载中。
  • 浏览器控制台中的任何错误
  • 您是否在您网站的页面上加载 jQuery?它加载吗?你需要像<script src="http://code.jquery.com/jquery-1.10.0.min.js"></script>这样的东西在你的页面头部
  • 检查控制台是否有错误

标签: jquery class selector jsfiddle


【解决方案1】:

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

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

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

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

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

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

<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>

有关适当放置&lt;script&gt; 标签的更多详细信息,请参阅this answer

【讨论】:

  • +1,很好的解释!
【解决方案2】:

您是否测试过在$(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>

【讨论】:

  • 呃,如果$(".image").css("border","3px solid red");不起作用,那么它不能用于测试文件的就绪情况。但是,如果我在里面使用$(function() { alert('hello') });,是的,我确实收到了警报。
  • ^ 我收回了。有效。如果这行得通,为什么我不能只放`$(".image").css("border","3px solid red");`?还是不行。
  • 不起作用?请看这里...jsfiddle.net/yeyene/mfLt7/2
【解决方案3】:
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.

【讨论】:

  • 这不是问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-12
  • 1970-01-01
相关资源
最近更新 更多