Текстовая Нода и outerHTML и indexOf
Подскажите пожалуйста, вот есть просто для примера такой HTML документ:
<div id="elementus"><span>span_1</span></div> Я достаю текстовую ноду из этого элемента:
let my_elemen = document.getElementById("elementus");
let text_Node = my_elemen.textContent;
Однако к text_Node применить outerHTML - уже не получается, так как outerHTML возвращает Undefined: let text_Node_outerHTML = text_Node.outerHTML; console.log(text_Node_outerHTML); Соответвенно и .indexOf() - тоже применить не получается ни к text_Node_outerHTML ни напрямую к text_Node:
let my_index = text_Node.indexOf("span_1");
console.log(my_index )
my_index = text_Node_outerHTML .indexOf("span_1");
console.log(my_index )
Результат undefined. И вот вопрос, а какой тогда аналог .indexOf() можно применить к текстовой ноде ? |
Цитата:
text_Node у вас это строка. Цитата:
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<div id="elementus"><span>span_1</span></div>
<script>
let my_elemen = document.getElementById("elementus");
let text = my_elemen.textContent;
let my_index = text.indexOf("span_1");
alert(my_index)
</script>
</body>
</html>
|
Цитата:
А осуществить поиск в текстовой Ноде нужно, а как ее тогда осуществить не могу понять. |
Andy_kun,
вам показали рабочий код, зачем строку преобразовывать для поиска? |
поиск всех текстовых нод в элементе и вывод текста каждой ноды
Andy_kun,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
</head>
<body>
<div id="elementus"><span>span_1</span></div>
<script>
let my_elemen = document.getElementById("elementus");
function my_func(element, callback) {
const iterator = document.createNodeIterator(element, NodeFilter.SHOW_TEXT);
let current;
while (current = iterator.nextNode()) {
callback(current);
}
}
my_func(my_elemen, text_Node => alert(text_Node.textContent))
</script>
</body>
</html>
|
Цитата:
|
| Часовой пояс GMT +3, время: 21:39. |