我可以在同一个文件或元素上并排使用JavaScript和jQuery吗?
我听说这是可能的:为什么下面的代码不起作用?如果我使用jQuery(#)获取一些元素,然后使用innerHTML
来更改它,它就不起作用。所以,例如,
<body>
<script>
$(function(){
var b= $('#p');
b.innerHTML="wow";
});
</script>
<p id="p">hey</p>
</body>
答案 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)