第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用Javascript計(jì)算元素的XPath位置?

如何使用Javascript計(jì)算元素的XPath位置?

假設(shè)我有一個(gè)包含不同類(lèi)型標(biāo)簽的大型HTML文件,類(lèi)似于您現(xiàn)在正在查看的StackOverflow。現(xiàn)在讓我們說(shuō)你單擊頁(yè)面上的一個(gè)元素,Javascript函數(shù)會(huì)是什么樣的,它會(huì)計(jì)算引用該特定元素的最基本的XPath?我知道在XPath中有一種無(wú)限的方式來(lái)引用該元素,但我正在尋找一些只關(guān)注DOM樹(shù)的東西,而不考慮ID,類(lèi)等。例:<html><head><title>Fruit</title></head><body><ol>  <li>Bananas</li>  <li>Apples</li>  <li>Strawberries</li></ol></body></html>假設(shè)您點(diǎn)擊蘋(píng)果。Javascript函數(shù)將返回以下內(nèi)容:/html/body/ol/li[2]它基本上只是向上運(yùn)行DOM樹(shù)一直到HTML元素。只是為了澄清,'on-click'事件處理程序不是問(wèn)題。我能做到這一點(diǎn)。我只是不確定如何計(jì)算元素在DOM樹(shù)中的位置并將其表示為XPath。PS贊賞使用或不使用JQuery庫(kù)的任何答案。PPS我對(duì)XPath完全不熟悉,所以我甚至可能在上面的例子中犯了一個(gè)錯(cuò)誤,但你會(huì)明白這個(gè)想法。
查看完整描述

3 回答

?
米脂

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊

我用來(lái)獲取類(lèi)似于你的情況的XPath的函數(shù),它使用jQuery:


function getXPath( element )

{

    var xpath = '';

    for ( ; element && element.nodeType == 1; element = element.parentNode )

    {

        var id = $(element.parentNode).children(element.tagName).index(element) + 1;

        id > 1 ? (id = '[' + id + ']') : (id = '');

        xpath = '/' + element.tagName.toLowerCase() + id + xpath;

    }

    return xpath;

}


查看完整回答
反對(duì) 回復(fù) 2019-09-20
  • 3 回答
  • 0 關(guān)注
  • 644 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)