Javascript DOM操作
3469 ワード
へへへ、熱いうちに鉄を打って、前にまとめたものを整理して貼ってください.DOM部分にとって重要です.
1.要素を取得する
1.1属性から要素を取得する
一つ取ってもいいですか?
最後の手段で要素を取得する場合、位置付けされたフォーム要素が一つであれば要素を返します.配列ではなく、フォーム要素が複数であれば要素のセットを返します.
1.2メソッドで要素を取得する
classを通じて元素のパッケージ関数を獲得して、IE 8以下のブラウザーに対応するために、この年は自分で閉じた関数で互換性の問題を解決しますか?見たくないなら、見ないでください.
2.1属性による要素の作成
2.2方法により要素を作成する
3.元素の属性
3.1一般属性
一般的な属性値は.演算と[]演算で取得できます.
3.2[Element].クラスName
classNameは実際には元素のクラスです.彼の値を直接修正してクラスを変えることができます.
一般的にはCSSStyleDeclarationというオブジェクトが得られますが、基本的には最も直接的なDOM操作はそれを修正して完成します.
1.要素を取得する
1.1属性から要素を取得する
document.body
document.documentElement
body,htmlはdocumentからしか入手できません.[SelectElement].options
selectの次のグループのoptionsを取得します.[FormName]
[FormName][InputName]
name=「formName」のform要素を取得して、何を取得しますか?これは変数名をそのまま使ってもいいです.一つ取ってもいいですか?
最後の手段で要素を取得する場合、位置付けされたフォーム要素が一つであれば要素を返します.配列ではなく、フォーム要素が複数であれば要素のセットを返します.
1.2メソッドで要素を取得する
document.getElementById()
この方法は、documentからしかid属性が対応するパラメータの単一要素を取得できません.document.getElementsByName()
この方法は、documentからしかname属性が対応するパラメータの要素のセットを取得できません.[Element].getElementsByTagName()
ラベル名が対応するパラメータの要素セットを取得します.[Element].getElementsByClassName()
クラス属性に対応するパラメータを含む要素のセットを返します.IE 8+[Element].querySelector()
一つの要素IE 8+使い方はJQueryに似ています.[Element].querySelectorAll()
要素IE 8+のセットを返します.使い方はJQueryに似ています.classを通じて元素のパッケージ関数を獲得して、IE 8以下のブラウザーに対応するために、この年は自分で閉じた関数で互換性の問題を解決しますか?見たくないなら、見ないでください.
function getByClass(parent, classStr) {
if(parent.getElementsByClassName) {
return parent.getElementsByClassName(classStr)
}
else {
var arr = []
var elements = parent.getElementsByTagName('*')
var hasClass = false
for(var i = 0; i
2.要素を作成する2.1属性による要素の作成
[element].innerHTML
// eg:
div.innerHTML = 'Hello'
属性が付与された値はページに直接レンダリングされます.ラベル要素は無効です.2.2方法により要素を作成する
document.createElement()
この方法は、document要素のみが使用できます.パラメータは、作成したいラベル名です.しかし、我々は[element].apendChild(createelement)を呼び出す必要があります.作成した要素をDOMに挿入します.3.元素の属性
3.1一般属性
一般的な属性値は.演算と[]演算で取得できます.
document.getElementById('link').href
// => "http://www.jianshu.com/"
いくつかの方法でユーザー定義の属性を操作することもできます.もちろん彼らは一般的な属性にも有効です.[Element].getAttribute([attributeName])
[Element].setAttribute([attributeName],[attributeValue])
[Element].removeAttribute([attributeName])
説明が必要なものはいくつかあります.3.2[Element].クラスName
classNameは実際には元素のクラスです.彼の値を直接修正してクラスを変えることができます.
div.className = 'col-xs-6 col-md-4'
また、[element].classistが返したクラス配列で操作することもできます.この属性はie 10以上のブラウザでのみサポートされます.div.classList
// => ['col-xs-6', 'col-md-4']
div.classList.add('col-offset-2')
// => ['col-xs-6', 'col-md-4', 'col-offset-2']
div.classList.remove('col-md-4')
// => ['col-xs-6', 'col-offset-2']
div.classList.contains('col-xs-6')
// => true
3.3[Element].スタイル一般的にはCSSStyleDeclarationというオブジェクトが得られますが、基本的には最も直接的なDOM操作はそれを修正して完成します.
div.style.color = 'orange'
このようにCSSStyleDeclarationというオブジェクトを使用すると、もう一つの不思議な機能があります.私たちが行で設定したスタイルはこのオブジェクトに追加され、インデックス値を付けます.
300+, , ,