Javascript JQuery方法未给出预期结果

Javascript JQuery方法未给出预期结果,javascript,jquery,html,css,Javascript,Jquery,Html,Css,这是我的代码: $("p").css("background-color", "yellow"); alert( $("p").css("background-color")); 警报返回的是未定义,而不是颜色 我试过谷歌浏览器和火狐浏览器。我从w3c网站上摘录了这一点,在他们的示例中,它是有效的(我甚至使用了相同的jQuery版本)。在这个JSFIDLE中工作得非常好 css(“背景色”、“黄色”); 警报($((“p”).css(“背景色”) 测试 要么在jQuery加载之前调用该代

这是我的代码:

$("p").css("background-color", "yellow");
alert( $("p").css("background-color"));
警报返回的是
未定义
,而不是颜色


我试过谷歌浏览器和火狐浏览器。我从w3c网站上摘录了这一点,在他们的示例中,它是有效的(我甚至使用了相同的jQuery版本)。

在这个JSFIDLE中工作得非常好

css(“背景色”、“黄色”); 警报($((“p”).css(“背景色”)


测试

要么在jQuery加载之前调用该代码,要么在执行代码时文档中没有
标记

要测试第一种情况,请将脚本移动到窗口的onload事件处理程序。此代码将仅在加载所有脚本后运行

window.onload = function(){
  if(window.jQuery){
    $("p").css("background-color", "yellow");
    alert( $("p").css("background-color"));
  }
  else{
    alert("jQuery is not loaded");
  }
}
如果未加载警报
jQuery
打开,则表明您已确定问题


要测试第二种情况,请确保在您尝试更改其CSS之前在文档中包含一个
标记。

尝试使用此标记,而不是脚本

  $(document).ready(function(){
            $("button").click(function(){
               $("p").css("background-color", "yellow");
        alert( $("p").css("background-color"));
            });
        });
对于html,请尝试以下内容

<body>

<h2>This is a heading</h2>

<p>This is a paragraph.</p>
<p>This is another paragraph.</p>

<button>Click me</button>

</body>

这是一个标题
这是一段

这是另一段

点击我

这是基本的Javascript。您需要使用Javascript定义要更改的html属性。

确保在head标记中包含JQuery source

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

代码在JSFIDLE上运行良好。
结帐:

没关系,我找到了它不工作的原因。我在这个指令之后创建了
p
,所以它实际上没有选择任何内容。

尝试使用
backgroundColor
而不是DOM中是否有
p
元素?是否添加了jquery js Library。只有当您没有
p
元素时,它才会给出未定义的代码。请看,我确实复制粘贴了您的代码,并且运行良好,问题一定出在其他地方,您还有其他代码吗?我部分同意Turnip的观点,也许在DOM中没有
元素来重现原始bug的附加示例会更好。但是我仍然选择了向上投票,向下投票是不合适的。我添加了一些关于我的JSFIDLE的解释,以及它为什么有效。但在大多数情况下,一个例子胜于雄辩,尤其是一个非常小的工作例子。谢谢你的提醒,从现在开始我会解释更多我的答案。OP包含了jQuery,否则会出现错误。这里有很多人为你提供了正确有效的答案,你应该接受其中一个。这不是一个自我回答的问题,你可能应该接受@甲壳虫果汁的答案,而不是添加你自己的答案