我需要在不斷變化的表格中找到一個元素并替換它的 text.Content 。
大家好!
我對編碼還很陌生,但是在嘗試替換某些元素文本內容時遇到了一個問題。
我的網站上有一個表格,可以在每次新會話時對值進行洗牌。我想替換該表中的某些值。
<table class = "tb">
<tr>
<td>Element 1</td>
<td>Element 2</td>
<td>Element 3</td>
</tr>
</table>
并且在每個新會話中,每個元素的順序都會更改。
我想首先找到“元素 2”并將其更改為“元素 2.1”,但我無法使用當前腳本執行此操作,因為它只是更改了表格的第二行,而不是我正在尋找的內容。因此,在重新洗牌時,它可能會將元素 1 更改為替換值。
我有一個非常簡單的腳本來交換元素。
const Tableswap = () => {
const findele = document.querySelectorAll(".tb")[1];
if (findele === null){
return;
};
findele.textContent = "Element 2.1";
};
我嘗試了以下方法來找到我正在尋找的特定元素,但我不確定從這里去哪里:
//find required element
function contains(selector, text) {
var elements = document.querySelectorAll(selector);
return Array.prototype.filter.call(elements, function(element){
return RegExp(text).test(element.textContent);
});
}
const finder = contains('.tb', "Element 2");
if (finder === null){
return;
};
finder.tb.textContent = "Element 2.1";
老實說,我不確定我是否在所有這些方面都朝著正確的方向前進,當涉及到所有這一切時,我是一個完全的新手,我基本上一直在從各處清除代碼,并試圖理解我的意思我一路走來。我希望一切都在 JS 中,因為我完全沒有使用 Jquery 的經驗,也不知道它是什么。
任何和所有的幫助將不勝感激!
uj5u.com熱心網友回復:
這是您試圖通過第二個腳本實作的目標。
我試圖讓它接近你的原始代碼,以便你更容易理解。
該腳本已defer變為紅色以防止它在 DOM 完成加載之前執行。
<!DOCTYPE html>
<html>
<body>
<table class="tb">
<tr>
<td>Element 1</td>
<td>Element 2</td>
<td>Element 3</td>
</tr>
</table>
<script defer>
function findAndReplace(selector, find, replace) {
let elements = document.querySelectorAll(selector);
return Array.prototype.filter.call(elements, function (element) {
if (RegExp(find).test(element.textContent))
element.textContent = replace;
});
}
findAndReplace(".tb td", "Element 2", "Element 2.1");
</script>
</body>
</html>
uj5u.com熱心網友回復:
在您的 HTML 中,將其更改為<td id="myID">,然后您可以使用document.getElementById(myID).innerHTML = "Element 2.1".
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/523690.html
下一篇:在視窗內放置大型HTML5畫布
