在同一文件中使用JavaScript和jQuery

在同一文件中使用JavaScript和jQuery,javascript,jquery,Javascript,Jquery,我可以在同一个文件或元素上同时使用JavaScript和jQuery吗 我听说这是可能的:为什么下面的代码不能工作?如果我使用jQuery(#)获取某个元素,然后使用innerHTML对其进行更改,那么它就不起作用。那么比如说, <body> <script> $(function(){ var b= $('#p'); b.innerHTML="wow"; }); </script> <p id=

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

我听说这是可能的:为什么下面的代码不能工作?如果我使用jQuery(#)获取某个元素,然后使用
innerHTML
对其进行更改,那么它就不起作用。那么比如说,

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

$(函数(){
变量b=$('p');
b、 innerHTML=“哇”;
});
嘿


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

b.html("wow");

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";
    }
});
$(函数(){
变量b=$('p');
对于(变量i=0;i
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"

jquery是javascript。这只是一套用javascript编写的非常方便的工具。
b[0].innerHTML=“哇”jquery函数每次都返回一个数组,即使只有一个元素。如果你把它们弄混了,试着通过在jquery变量前面加$来跟踪它们,这有助于我知道何时在变量上使用哪些方法。这是错误的。你就像重新分配一个方法调用。我已经编辑了它…现在可以升级了。b.html()将用于获取元素内部的文本或任何内容<代码>变量x=b.html()
要更改它,您需要使用
text
方法,即
b.text(x+“添加内容”)
或者从jQuery1.4开始,您可以直接将其传递到
x.html(“stuff”)编辑后的答案现在是正确的。这并不能解释示例代码不起作用的原因。OP问“为什么这不起作用?你不能同时使用jQuery和JavaScript吗?”而你的回答是:“只使用jQuery。”