나는 새로운 $.parseXML()
메서드를 jQuery 1.5와 함께 사용 해왔다. 새 요소를 XML 객체에 삽입 할 때마다 해당 새 요소는 자동으로 값이 "http://www.w3.org/1999/xhtml"인 'xmlns'속성을 가져옵니다.jQuery가 XML 객체에 'xmlns'속성을 삽입하지 못하게하려면 어떻게해야합니까?
<five xmlns="http://www.w3.org/1999/xhtml">some value</five>
가 어떻게이 '의 xmlns'속성을 삽입하는 jQuery를 방지 않습니다
var myXml = "<one attr='a'><two attr='b'/><three attr='c'><four attr='d'/></three></one>";
myXml = $.parseXML(myXml);
$(myXml).find('three').append($('<five>some value</five>'));
코드는 다음과 같은 요소를 만듭니다 예를 들어, 아래 코드를 참조? 내가 .removeAttr()
메서드를 사용하여 시도했지만 심지어 작동하지 않는 것. 어떤 아이디어?
업데이트 : 사용자 nrabinowitz가 제안한 제안은이 문제를 해결하는 데 도움이되었습니다. 최상위 요소에 xlmns 속성을 추가하면 xlmns 속성이 새로운 각 요소에 자동으로 지정되지 않습니다. 아직도, 나는 나의 특정한 프로그램을위한 다른 해결책을 선택했다. 대신 XML 객체를 웹 페이지에 표시 할 문자열로 변환 한 후에 .replace()
메서드를 사용하여 모든 xlmns 특성을 제거했습니다.
루트 요소에 고유 한 XMLNS 속성을 추가하려 했습니까? 명시 적 네임 스페이스가없는 경우 jQuery의 기본값은 XHTML입니다. – nrabinowitz
jQuery 자체가 전혀 XML 파싱을 수행하지 않는다고 생각합니다. 대신, 브라우저가 할 수 있습니다. (jQuery에 완전한 XML 파서가 내장되어 있다면, 그것은 더욱 커질 것이다. * 편집 * yup은 소스를 검사했다. XML을 "DOMParser"인스턴스로 넘겨 준다. – Pointy