ProgramingTip

xpath에 의한 jquery 선택 요소

bestdevel 2020. 12. 6. 21:52
반응형

xpath에 의한 jquery 선택 요소


xpath 선택기가 있습니다. jQuery를 사용하여 해당 선택과 일치하는 요소를 어떻게 어디에 있습니까?

나는 본 적이 https://developer.mozilla.org/en/Introduction_to_using_XPath_in_JavaScript 하지만 jQuery를 사용하지 않고, 너무 자세한 조금 것, 그리고 나는 크로스 브라우저 아니에요 가정합니다.

또한이 http://jsfiddle.net/CJRmk/ 가 작동하지 않는 것입니다.

alert($("//a").length);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<a href="a1.php"></a>
<a href="a2.php"></a>


document.evaluate()(DOM 레벨 3 XPath)는 Firefox, Chrome, Safari 및 Opera에서 지원됩니다. 누락 된 유일한 주요 브라우저는 MSIE입니다. 그럼에도 불구하고 jQuery는 기본 XPath 설치를 지원합니다. http://docs.jquery.com/DOM/Traversing/Selectors#XPath_Selectors (현재 jQuery 버전에서 버전으로 이동, https://plugins.jquery.com/xpath/ 참조 ). 그러나 XPath는 동등한 CSS 선택 자로 변환합니다.


Chrome 개발자 도구에서 사용할 수 있습니다.

$x('/html/.//div[@id="text"]')

xpath 선택기 함수를 먼저 만듭니다.

function _x(STR_XPATH) {
    var xresult = document.evaluate(STR_XPATH, document, null, XPathResult.ANY_TYPE, null);
    var xnodes = [];
    var xres;
    while (xres = xresult.iterateNext()) {
        xnodes.push(xres);
    }

    return xnodes;
}

jquery와 함께 xpath 선택기를 사용하는 다음과 같이 할 수 있습니다.

$(_x('/html/.//div[@id="text"]')).attr('id', 'modified-text');

이것이 도움이되기를 바랍니다.

참고 URL : https://stackoverflow.com/questions/6453269/jquery-select-element-by-xpath

반응형