JQuery方法没有给出预期的结果

时间:2016-07-01 12:04:34

标签: javascript jquery html css

Thiis是我的代码:

$("p").css("background-color", "yellow");
alert( $("p").css("background-color"));

警报返回undefined而不是颜色。

我试过Google Chrome和Firefox。我从w3c网站上提取了这个,在他们的例子中,它可以工作(我甚至使用相同的jQuery版本)。

5 个答案:

答案 0 :(得分:6)

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

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

window.onload = function(){
  if(window.jQuery){
    $("p").css("background-color", "yellow");
    alert( $("p").css("background-color"));
  }
  else{
    alert("jQuery is not loaded");
  }
}

如果警告jQuery is not loaded打开,您就已确定问题

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

答案 1 :(得分:3)

在这个JSFiddle中工作得非常好。

&#13;
&#13;
$("p").css("background-color", "yellow");
alert( $("p").css("background-color"));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
test
</p>
&#13;
&#13;
&#13;

确认您的HTML中有<p>标记(就像我的小提琴一样),并检查是否包含JQuery,如下所示:

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

答案 2 :(得分:2)

尝试这个而不是你的脚本。

  $(document).ready(function(){
            $("button").click(function(){
               $("p").css("background-color", "yellow");
        alert( $("p").css("background-color"));
            });
        });

for 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属性。

答案 3 :(得分:0)

确保您在head标记中包含了JQuery源代码。

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

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

答案 4 :(得分:-2)

没关系,我发现它不起作用的原因。我在这条指令之后创建了p,所以它实际上什么也没做。