ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript と JQuery の一般的なメソッドの違いを例とともに詳しく説明
jquery は、javascript の拡張ライブラリおよびカプセル化ライブラリであり、JavaScript をより使いやすく、シンプルにします。 jQuery は、使用するコードを減らし、より多くの関数を美しく完成させることを目的としています。
一般的に使用される JavaScript と JQuery の比較例は次のとおりです。
1. DOM の読み込みの違い
JavaScript:
window.onload
function first(){ alert('first'); } function second(){ alert('second'); } window.onload = first; window.onload = second;
//ただし、2 番目の window.onload のみが実行されます。以下の方法で改善できます:
window.onload = function(){ first(); second(); }
Jquery:
$(document).ready()
$(document).ready(){ function first(){ alert('first'); } function second(){ alert('second'); } $(document).ready(function(){ first(); } $(document).ready(function(){ second(); } //两条均会执行 }
2. ID の取得
JavaScript:
document.getElementById('idName')
JQuery:
$( '#idName')
3 、クラスの取得
JavaScript:
JavaScript にはクラスを取得するデフォルトのメソッドがありません
$('.className')
4. TagName の取得
JavaScript:
document.
getElementsByTagName
('tagName') JQuery :
$('tagName')
5.
オブジェクトを作成してドキュメントに追加します
JavaScript:
var para = document.createElement('p'); //创建一个p元素 document.body.appendElement(para); //将p元素追加为body的lastchild子节点,如果想将新创建的p元素插入到已存在的某个元素之前,可以使用insertBefore()方法
例、HTML コード:
<p>World!</p> $('p').append('<b>Hello!</b>'); //输出:<p>World!<b>Hello!</b></p> $('<b>Hello!</b>').appendTo('p'); //输出:同上 $('p').prepend('<b>Hello!</b>'); //输出:<p><b>Hello!</b>World! </p> $('<b>Hello!</b>').prependTo('p'); //输出:同上
parentElement.insertBefore(newElement,targetElement)
例、img 要素を挿入します前の段落。
html コード:
<img src="image.jpg" id="imgs" /> <p>这是一段文字</p>
var imgs = document.getElementById('imgs'); var para = document.getElementsByTag('p'); para.parenetNode.insertBefore(imgs,para);
JQuery:
JQuery は、既存の要素 (外部) の前後に新しい要素を挿入するための 4 つのメソッドを提供します: after()、insertAfter()、before ()、insertBefore( )。
例、HTML コード:
e388a4556c0f65e1904146cc1a846beeWorld!94b3e26ee717c64999d7867364b1b4a3
JQuery コード
$('p').after('<b>Hello!</b>'); //输出:<p>World! </p><b>Hello!</b> $('<b>Hello!</b>'). insertAfter ('p'); //输出:同上 $('p').before('<b>Hello!</b>'); //输出:<b>Hello!</b><p>World! </p> $('<b>Hello!</b>').insertBefore('p'); //输出:同上
このメソッドにはブール値パラメータが 1 つだけあり、その可能な値は true または false のみです。このパラメータは、コピーされたノードの子ノードも新しいノードにコピーされるかどうかを決定します。
JQuery:
clone() //ノードをコピーした後、コピーされた新しい要素は何も動作しません
clone(true) //ノードのコンテンツとそのバインドされたイベントをコピーします
注: このメソッドは通常、appendTo( ) 、 prependTo() などのメソッドを組み合わせて使用します。
8. ノードの削除
JavaScript:
reference = element.removeChild(node)
removeChild() メソッドは、指定された要素から子ノードを削除します
JQuery:
remove() メソッドは、指定された要素からの子ノード DOM から一致する要素をすべて削除します。remove() メソッドは他のフィルター セレクターと組み合わせて使用することもでき、非常に便利です。
例、タイトルが "Hello" ではない ul li の下の li を削除します:
$('ul li').remove(li[title!='Hello']);
empty() メソッド機能はノードをクリアすることです。 Package node :
JQuery での属性ノードの設定と検索は両方とも attr() です。
$('p').attr('title'); //获取p元素的title属性; $('p').attr('title','My title'); //设置p元素的title属性 $('p').attr('title':'My title','class':'myClass'); //当需要添加多个属性时,可以用"名:值"对的形式,中间用逗号隔开。
11、替换节点
JavaScript:
reference = element.replaceChild(newChild,oldChild)
该方法是将一个给定父元素里的一个子节点替换为另外一个节点。
JQuery:
replaceWith()、replaceAll()
eg:
e388a4556c0f65e1904146cc1a846beehello94b3e26ee717c64999d7867364b1b4a3
想替换为:
c1a436a314ed609750bd7c7d319db4daHi2e9b454fa8428549ca2e64dfac4625cd
JQuery代码:
$('p') .replaceWith('c1a436a314ed609750bd7c7d319db4daHi2e9b454fa8428549ca2e64dfac4625cd');
或者可以写成:
$('c1a436a314ed609750bd7c7d319db4daHi2e9b454fa8428549ca2e64dfac4625cd').replaceAll('p');
12、CSS-DOM操作
JavaScript:
格式:element.style.property
CSS-DOM能够读取和设置style对象的属性,其不足之处是无法通过它来提取外部CSS设置的样式信息,而JQuery的.css()方法是可以的。
注意点:CSS中的如"font-size"这样有"-"的,要使用首字母小写的驼峰式表示,如fontSize。
JQuery:
格式:$(selector).css()
css()方法获取元素的样式属性
此外,JQuery还提供了height()和width()分别用来获取元素的高度和宽度(均不带单位),而css(height)、css(width)返回高宽,且带单位。
以上がJavaScript と JQuery の一般的なメソッドの違いを例とともに詳しく説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。