在同一个文件中使用JavaScript和jQuery

时间:2014-08-22 22:02:25

标签: javascript jquery

我可以在同一个文件或元素上并排使用JavaScript和jQuery吗?

我听说这是可能的:为什么下面的代码不起作用?如果我使用jQuery(#)获取一些元素,然后使用innerHTML来更改它,它就不起作用。所以,例如,

<body>  
  <script> 
     $(function(){
     var b= $('#p');
     b.innerHTML="wow";
     });
  </script>
  <p id="p">hey</p>
</body>

3 个答案:

答案 0 :(得分:3)

jQuery是JavaScript的超集。这是JavaScript!只是一个简洁的JavaScript工具集,因此被广泛使用它几乎被认为对许多人来说是必不可少的。

话虽这么说,jQuery选择是jQuery对象并具有一些特定属性。它们与普通DOM节点不完全兼容。 最好坚持使用其中一种。只有极少数情况下您需要使用标准JavaScript,因为jQuery有很多方法可供您使用。在这种情况下使用:

$(function(){
    var b= $('#p');
    b.text("wow");
});

如果您真的想从中获取DOM节点,那么您必须使用可以为您提供节点的数组引用,但这意味着您要么只影响第一个元素,例如在这种情况下:

$(function(){
    var b= $('#p');
    b[0].innerHTML = "wow";
});

或者您必须循环并逐个更改每个元素,如下所示:

$(function(){
    var b= $('#p');
    for(var i = 0; i < b.length(); i++) {
       b[i].innerHTML = "wow";
    }
});

答案 1 :(得分:0)

JQuery是一个Javascript框架,所以是的,你可以固有地一起使用它们

var node = document.createElement('input'); //plain old javascript

$(node).click(function(){ alert('you set a click with jQuery') }); //here we are using jQuery

node.getAttribute('name'); //here we are using plain javascript again.

$('#p')将返回一个元素数组。如果你想检查它们的innerHTML,你必须迭代它们......或者指定这样的元素..

b[0].innerHTML = "wow"

答案 2 :(得分:-1)

因为变量b是一个jquery元素,它的html是由

设置的
b.html("wow");
.html()上的

More documentation