簡體   English   中英

如何使用javascript獲取href中的標簽值

[英]how to get a tag value in href with javascript

有一段html代碼

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Code</title>
<body>
<div id="suggestions">
content
<p><a href="/pd?email=1@email.com&pd=187&name=kljljl">link</a></p>
<p><a href="/pd?email=6@email.com&pd=187&name=afdsfsa">link</a></p>
</div>
<div id="list">
    kklj
    <p><a href="/pd?email=10@email.com&pd=187&name=4fdaf">link1</a></p>
    dll
    <p><a href="/pd?email=2@email.com&pd=187&name=afdsf">link2</a></p>
    fdf
    <p><a href="/pd?email=1@email.com&pd=187&name=hgfhd">link3</a></p>
    fdsaf
    <p><a href="/pd?email=4@email.com&pd=187&name=ertewt">link4</a></p>
    fdsaf
    <p><a href="/pd?email=5@email.com&pd=187&name=gfdsg">link7</a></p>
    fdasf
    <p><a href="/pd?email=8@email.com&pd=187&name=fdsgfgsg">link3</a></p>
    fdsaf
    <p><a href="/pd?email=dd@email.com&pd=187&name=cxvbvcb">link8</a></p>
    fdsafd
    <p><a href="/pd?email=jh@email.com&pd=187&name=ujjhgh">link3</a></p>
</div>
<script>
document.addEventListener('click', function(e){
  
})
</script>
</html>

我希望能夠得到email值和pd的電流值href當我點擊一個hreflist 我可以使用 JQuery 輕松獲得它,但我不知道沒有它怎么辦。 有任何想法嗎? 謝謝你。

這邊走

 const List_els = document.querySelector('#list') List_els.addEventListener('click', function(e) { if (!e.target.matches('a')) return // verify where the click is done e.preventDefault() // disable the href page loading let url = new URL(e.target.href) console.clear() console.log( url.searchParams.get('email')) setTimeout(console.clear,3000) })
 p { margin: .1em 0 0 2em ; }
 <div id="suggestions"> content <p><a href="/pd?email=1@email.com&pd=187&name=kljljl">link</a></p> <p><a href="/pd?email=6@email.com&pd=187&name=afdsfsa">link</a></p> </div> <div id="list"> kklj <p><a href="/pd?email=10@email.com&pd=187&name=4fdaf">link1</a></p> dll <p><a href="/pd?email=2@email.com&pd=187&name=afdsf">link2</a></p> fdf <p><a href="/pd?email=1@email.com&pd=187&name=hgfhd">link3</a></p> fdsaf <p><a href="/pd?email=4@email.com&pd=187&name=ertewt">link4</a></p> fdsaf <p><a href="/pd?email=5@email.com&pd=187&name=gfdsg">link7</a></p> fdasf <p><a href="/pd?email=8@email.com&pd=187&name=fdsgfgsg">link3</a></p> fdsaf <p><a href="/pd?email=dd@email.com&pd=187&name=cxvbvcb">link8</a></p> fdsafd <p><a href="/pd?email=jh@email.com&pd=187&name=ujjhgh">link3</a></p> </div>

在這里,我編寫了一個看起來像 jQuery 但它是純 Vanilla JavaScript 的函數。 這是從任何 URL 獲取價值的標准方法。 在這里你只需要調用這個函數來獲取搜索數據。 您可以在此處應用多個事件,例如單擊、鼠標輸入等

 QueryURL('a').on( 'click', response => {
    console.log(response)
} )

附件/主要代碼在這里

 window.onload = function () { /** * * * Get url query value * @param selector refers to anchor link * */ const QueryURL = selector => { const methods = { element : document.querySelectorAll( selector ), on: function( eventName, callback ) { this.element.forEach( btn => { btn.addEventListener( eventName, ev => { ev.preventDefault(); ev.stopPropagation(); if( ev.target.href ) { const url = new URL(ev.target.href); const searchParams = new URLSearchParams( url.search ); callback( Object.fromEntries(searchParams) ) return false; } }) } ) } } return methods; } /* * ======================================== * Init / Call the function * ======================================== */ QueryURL('a').on( 'click', response => { console.log(response) } ) }
 <div id="suggestions"> content <p><a href="/pd?email=1@email.com&pd=187&name=kljljl">link</a></p> <p><a href="/pd?email=6@email.com&pd=187&name=afdsfsa">link</a></p> </div> <div id="list"> kklj <p><a href="/pd?email=10@email.com&pd=187&name=4fdaf">link1</a></p> dll <p><a href="/pd?email=2@email.com&pd=187&name=afdsf">link2</a></p> fdf <p><a href="/pd?email=1@email.com&pd=187&name=hgfhd">link3</a></p> fdsaf <p><a href="/pd?email=4@email.com&pd=187&name=ertewt">link4</a></p> fdsaf <p><a href="/pd?email=5@email.com&pd=187&name=gfdsg">link7</a></p> fdasf <p><a href="/pd?email=8@email.com&pd=187&name=fdsgfgsg">link3</a></p> fdsaf <p><a href="/pd?email=dd@email.com&pd=187&name=cxvbvcb">link8</a></p> fdsafd <p><a href="/pd?email=jh@email.com&pd=187&name=ujjhgh">link3</a></p> </div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM