$(markup)
解析为 HTML,而不是 XML,给你一个HTMLUnknownElement
with tagName example
。dir
是一个现有的 HTML 属性,它可能只有值rtl
或ltr
。其他任何内容都会被忽略,这就是自定义属性在DOM 属性dir
下不可读的原因。
(与您对名称的期望相反,jQuery 的attr()
方法实际上通常表示 DOM 属性访问而不是HTML 属性访问,即使它允许将 HTML 属性名称用作别名。)
您可能在 IE 中遇到更多问题,这与将自定义元素放入 HTML 不太一样。
让浏览器解析 XML 并不像您想象的那么简单。XMLHttpRequest
让( )返回的 XML 文档在ajax()
任何地方都有效,因此如果可以,请将 XML 移动到 AJAX 响应中。
否则,让 XML 解析器读取字符串在所有浏览器上并不相同(旧版浏览器根本无法做到这一点)。在 IE 上你必须使用new ActiveXObject('Microsoft.XMLDOM')
; 在其他浏览器上,您经常会得到一个new DOMParser()
; 如果做不到这一点,您可以尝试document.implementation.createDocument().loadXML()
.