DOM, 이벤트
문답
click me!
this is a element test
var ct = document.querySelector('#ct');
console.log(ct.innerText);//click me! this is element test
innerHTML: 대상 html 안의 html 구조를 가져오거나 설정할 수 있습니다
click me!
this is a element test
var ct = document.querySelector('#ct').innerHTML;
console.log(ct);// <h1>click me!</h1> <a class="link" href="#">this is a element test</a>
click me! inside Span
console.log(document.getElementsByTagName('h1')[0].children); //HTMLCollection[1]
console.log(document.getElementsByTagName('h1')[0].childNodes);//NodeList[2]
var img = document.createElement('img');
img.id = 'myimg';
/*or*/ img.setAttribute("class", "myimg");
console.log(img); //<img id = "myimg">
aaa
var div = document.getElementById('laugh'),
newConetent = document.createTextNode('hello');
div.appendChild(newConetent);// html hello
//
var div = document.createElement('div');
var newContent = document.createTextNode('hello');
newDiv.appendChild(newContent);
insertBefore: 요소 앞에 요소 노드 삽입
aaa
var div = document.getElementById('laugh'),
newContent = document.createTextNode('hello');
div.insertBefore(newContent, div.firstChild);
//
var newDiv = document.createElement('div');
var newContent = document.createTextNode('hello');
newDiv.insertbefore(newContent , newDiv.firstChild);
요소 삭제removeChild: 요소를 삭제합니다. 매개 변수는 삭제할 요소입니다.
parentNode.removeChild(childNode);
var btn = document.getElementById('btn');
btn.onclick = function display() {
alert(this.value);
}
이벤트 처리 프로그램은 원소의 방법으로 여겨진다. 이벤트 처리 프로그램은 원소의 역할 영역에서 실행되고this는 현재의 이 원소이기 때문에button을 클릭한 결과: Don't clike me anymore...이벤트 처리 프로그램을 삭제하려면 원소 onclick의 속성을null로 설정하면 됩니다.
DOM2: DOM2 레벨 시간은 이벤트 프로세서를 지정하고 삭제하는 두 가지 방법을 정의합니다
1、addEventListener
2、removeEventListner
모든 DOM 노드에는 세 가지 매개변수를 적용하는 두 가지 방법이 있습니다.
1、
2、
3、 , true , false 。
//expamle
var btn = document.getElementById('btn');
btn.addEventListener('click',function(){
alert(this.value);
},false)
DOM2는 위 코드에 여러 개의 이벤트 처리 프로그램을 추가할 수 있지만 DOM은 안 됩니다.이벤트 프로세서를 제거하려면removeEventListener만 필요합니다. 제거할 때의 매개 변수는 추가할 때와 같습니다. (익명 함수는 제거할 수 없습니다.)
1. attach Event는 IE에 사용됩니다. IE가ddEventListener를 지원하지 않기 때문입니다.2. 매개 변수에 addEventListener는 3개의 매개 변수(유형, 함수, 부울 값)를 수신할 수 있고,attachEvent는 2개의 매개 변수(유형, 함수)는 이벤트 거품만 지원합니다.3. 함수 제거: 예를 들어addEventListener 제거 방법은removeEventListener이지만 accachEvent의 제거 방법은detachEvent입니다.4. 유형 이름:addeventListener의 수신 유형은'click'이지만attachEvent의 수신 유형은'onclick'이다.5. 역할 영역:addevent Listener 역할 영역은 요소 자체,this는 클릭한 트리거 요소를 가리키며attach Event의 역할 영역은 전역,this는 전역적인 window를 가리킨다~6. 이벤트 처리 프로그램의 실행 순서:addevent Listener는 추가 순서에 따라 실행하고attach Event 순서는 불규칙적이다(첨가가 적을 때 대부분 반순서로 실행하고 많이 추가하면 불규칙적이다)
var btn = document.getElementById('btn');
btn.addEventListener('click',function(e){
console.log(e);
alert(this.value);
e.stopPropagation();//this is the point
},false)
document.body.addEventListener('click',function(){
alert("what the hell? I'm anonymous");
},false)
코드
-
- 6
//todo ...
//답
- here
- we
- go~!!
var lists = document.getElementsByClassName('content')[0].getElementsByTagName('li');
for(i = 0; i < lists.length; i++) {
lists[i].addEventListener('click', function() {
console.log(this.innerText);
})
}
을 누르면
를 눌렀을 때 6
사용자가 입력한 비공식 문자열을 추가합니다.2. 각 요소li
를 클릭하면 컨트롤러에서 이 요소의 텍스트 내용을 보여 줍니다.
-
- 6
//todo ...
//답
-
- 6
var ct = document.getElementsByClassName('ct')[0];
var content = document.getElementsByClassName('ipt-add-content')[0];
var btnStart = document.getElementById('btn-add-start');
var btnEnd = document.getElementById('btn-add-end');
btnStart.addEventListener('click', handler);
btnEnd.addEventListener('click', handler);
function handler(e) {
var newE = document.createElement('li');
var newContent = document.createTextNode(content.value);
newE.appendChild(newContent);
if(e.target.id === 'btn-add-start') {
ct.insertBefore(newE, ct.firstChild)
} else {
ct.appendChild(newE);
}
}
ct.addEventListener('click', function(e) {
console.log(e.target.innerText)
}, false)
//
//
//
// var listArr = document.getElementsByClassName('ct')[0].getElementsByTagName('li');
// for(var i =0; i< listArr.length; i++){
// listArr[i].addEventListener('click',function(){
// console.log(this.innerText);
// })
// }
//
// var bttttttnnn = document.querySelector('.ct');
// bttttttnnn.addEventListener('click', function(e) {
// console.log(e.target.innerText);
// })
li
요소에 놓으면 img-preview
에 현재 li
요소의 data-img
에 대응하는 그림을 보여 줍니다.
- 1
- 2
- 3
var ct = document.querySelector('.ct'),
childs = ct.querySelectorAll('li'),
preview = document.querySelector('.img-preview');
// for(var i = 0; i < childs.length; i++) {
// childs[i].addEventListener('mouseenter', function() {
// var dataImg = this.getAttribute('data-img');
// preview.innerHTML = '![](' + dataImg + ')'
// });
// }
//
ct.addEventListener('mouseover',show)
function show(e){
var src = e.target.getAttribute('data-img');
preview.innerHTML='![]('+src+')';
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.