Текстовая Нода и 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, время: 11:34. |