Chrome의 콘솔에서 요소를 완벽하게 탐색 할 수 있지만 중첩 된 DocumentFragment에 대한 참조를 childNodes
또는 firstChild
으로 가져올 수 없습니다.중첩 된 DocumentFragment에 액세스
여기 jsFiddle의 코드입니다 : http://jsfiddle.net/Ge8au/2/
여기에 코드입니다 :
function withoutJquery(html)
{
var temp = document.createElement("div");
temp.innerHTML = html;
var fragment = document.createDocumentFragment();
var child;
while (child = temp.firstChild)
{
fragment.appendChild(child);
}
return fragment.firstChild;
}
function withJquery(html)
{
var fragment = document.createDocumentFragment();
fragment.appendChild(jQuery.buildFragment([html],document));
return fragment.firstChild;
}
var ajaxHTML = "";
ajaxHTML += "<template>\n";
ajaxHTML += " <div>asdf</div>\n";
ajaxHTML += " <div>\n";
ajaxHTML += " <span>asdf</span>\n";
ajaxHTML += " </div>\n";
ajaxHTML += "</template>";
// Gives the <template>
console.log(withoutJquery(ajaxHTML));
console.log(withJquery(ajaxHTML));
// Where are the <div>'s?
console.log(withoutJquery(ajaxHTML).childNodes.length);
console.log(withJquery(ajaxHTML).childNodes.length);
최신 console.log에서 예상되는 결과는 무엇입니까? 그것은 나를 위해 잘 작동하는 것 같아요 (길이 5, 2 div 및 3'\ n') –
jquery를 사용할 수 있다면 컨텍스트 선택 즉 $ ('nodes', fragment)로 할 수 있습니다. ; – adrian
@Py. Safari에서 작동하지만 최신 Chrome –