我在頁面上有一個表格,其中有文本條目,并且有一個或多個“主題標簽”,我想通過 JavaScript/JQuery 識別它們并用鏈接替換它們。
目前我正在使用以下正則運算式選擇器作為主題標簽: /#([a-zA-Z0-9] )/g
我一直在嘗試JQuery的方法replaceWith和replace方法,但還沒有達到預期的結果。
頁面上的示例條目:
<td class="entry">Had meeting with client #Project1</td>
這是我想要的輸出(通過 JavaScript/JQuery 操作后):
`<td class="entry">Had meeting with client <a href="search.php?`query=#Project1">#Project1</a></td>
有人為此提供幫助嗎?由于我的代碼還沒有接近作業,我選擇不發布代碼..
uj5u.com熱心網友回復:
您可以使用 JavaScript 執行以下操作:
const entries = document.querySelectorAll(".entry");
entries.forEach((entry) => {
entry.innerText.match(/#([a-zA-Z0-9] )/g).forEach((hash) => {
entry.innerHTML = entry.innerHTML.replace(
hash,
`<a href="search.php?query=${hash}">${hash}</a>`
);
});
});
<p class="entry">Had meeting with client #Project1</p>
<p class="entry">Had meeting with client #Project2 & #Project3</p>
uj5u.com熱心網友回復:
也許這個解決方案會有所幫助?
document.querySelectorAll("table td.entry").forEach((el) => {
el.innerHTML = el.innerHTML.replace(/#([a-zA-Z0-9] )/g, '<a href="search.php?`query=#$1">#$1</a>')
})
<table>
<tbody>
<td class="entry">Had meeting with client #Project1</td>
<td class="entry">Had meeting with client #Project2</td>
<td class="entry">Had meeting with client #Project3</td>
<td class="entry">Had meeting with client #Project4</td>
<td class="entry">Had meeting with client #Project5</td>
</tbody>
</table>
uj5u.com熱心網友回復:
嘗試一下:
const str= '<td >Had meeting with client #Project1</td>';
const match = str.match(/#([a-zA-Z0-9] )/g);
var result = str.replace(match[0],`<a href="search.php?query=${match[0]}">${match[0]}</a>`);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/326177.html
標籤:javascript html 查询
上一篇:如何禁用和啟用標簽點擊
