어떻게이 <p>
태그를 자바 스크립트의 모든 콘텐츠와 함께 삭제할 수 있습니까? Javascript에서 <p class = "classname">을 (를) 삭제 하시겠습니까?
<p class="classname">
<input name="commit" value="Get Value" type="submit"> <span>or Cancel</span>
</p>
이 있다고?
어떻게이 <p>
태그를 자바 스크립트의 모든 콘텐츠와 함께 삭제할 수 있습니까? Javascript에서 <p class = "classname">을 (를) 삭제 하시겠습니까?
<p class="classname">
<input name="commit" value="Get Value" type="submit"> <span>or Cancel</span>
</p>
이 있다고?
을 원하는 경우에 당신이하지 않는이 때문에 인터넷 익스플로러의 고통스러운 수 있습니다 자바 스크립트 일반에 그것을 할 수있는 경우 getElementsByClassName() 지원 (최신 버전일까요?)
var elems = document.getElementsByTagName('p');
var elemsLenght = elems.lenght;
for (var i = 0; i < elemsLenght; ++i) {
{
if (elems[i].className == 'classname')
{
elems[i].innerHTML = '';
}
}
하지만, 등 jQuery를, 프로토 타입, 도장, 같은 라이브러리/프레임 워크 ..
마크 업을 변경하지 않으려는 경우 : 가장 쉬운 방법은 라이브러리를 사용하는 것입니다. 예 : jQuery를 함께 : 요소에 대한 참조가 까다로운 부분입니다 얻기
el.parentNode.removeChild(el);
:
jQuery('.classname').remove();
그렇지 않으면, 당신은 다음 요소에 대한 참조를 얻을 필요가있다. 일부 브라우저는 getElementsByClassName을 구현하지만 일부는 독자적으로 작성하거나 나머지는 제 3 자 구현을 사용해야합니다.
if (!document.getElementsByClassName) {
document.getElementsByClassName = function (className) {
/* ... */
}
}
당신이 다음 마크 업을 변경할 요소에게 ID를 부여하고 그에 대한 참조를 가져 document.getElementById를를 사용하고자하는 경우.
** jQuery로 가장 쉬운 또는 ** 여러 가지 다른 자바 스크립트 라이브러리의 사용할 수있는 경우 : HTTP를 : // prototypejs를 .org, http://code.google.com/closure/library 등 - http://en.wikipedia.org/wiki/List_of_JavaScript_libraries –
공정한 점, 처음에는 질문을 잘못 읽고 그것은 '자바 스크립트'가 아니라 'jQuery'라고 생각했다. 이 작업은 급하게 편집해야했으며 'jQuery 사용'을 충분히 낮추지 않았습니다. jQuery는 많은 StackOverflow 사용자가 내 눈에 영향을 준 것 같다. – Quentin
이 시도 : jQuery로
<p id="someid">
<input name="commit" value="Get Value" type="submit"> <span>or Cancel</span>
</p>
function removeElement(id) {
var d = document.getElementById('myDiv');
var olddiv = document.getElementById(id);
d.removeChild(olddiv);
}
removeElement('someid');
당신이
$('p.classname').remove();
하지만 그 요소에 대한 ID는 갖고 있지 않습니다. – streetparade
@streetparade :'id'를 사용하지 않고 jquery를 사용하고 싶지 않으면 @David Dorward에서 제안한대로해야합니다. – Sarfraz
그것은 안전하지 않습니다 : http://www.jslint.com/lint.html#forin – Quentin
class 속성은 공백으로 구분 된 클래스 목록을 사용하므로 일반 getElementsByClassName 구현에는'=='이 충분하지 않습니다 (비록 이 특별한 경우에는 충분할 것입니다.) – Quentin
당신은 두 가지 주석 모두에 대해 옳았습니다. 목적은 자바 스크립트에서 어떻게 할 것인지를 설명하는 것이지, 상자에서 코드를 꺼내는 것이 아닙니다. getElementsByClassName을 구현하는 가장 좋은 방법은 기본 자바 스크립트 함수로 사용하도록 프로토 타입을 작성하고 클래스 이름을 여러 클래스로 검사하는 것입니다. –