#javascript #html #dom
#javascript #HTML #dom
Вопрос:
Я узнаю, как предупредить весь html-код с веб-страницы, используя этот код:
var markup = document.document.innerHTML;
alert(markup);
Я хочу предупредить только все <p>
Я попробовал этот код
var markup = document.getElementsByTag('p').innerHTML;
alert(markup);`
Но это не работает
Комментарии:
1. Каков ожидаемый результат?
2. Это
getElementsByTagName()
. И это создает список узлов, который вы должны зациклить. Смотрите это
Ответ №1:
document.getElementsByTagName("p")
возвращает HTMLCollection, который вы можете преобразовать в массив с помощью оператора spread . Затем вам нужно получить innerHTML
для каждого элемента массива. Наконец, вы можете объединить их innerHTML
вместе, чтобы вывести их:
var pElements = [ ... document.getElementsByTagName("p") ];
var pMarkup = pElements.map( element => element.innerHTML );
alert( pMarkup.join( "n" ) );
<p>abc<strong>def</strong></p>
<table><tr><td>Don't show this</td></tr></table>
<p>ghi<em>jkl</em></p>
Ответ №2:
Я думаю, вы после HTMLElement.outerHTML
// All p's
const pTags = document.querySelectorAll('p');
const output = [...pTags].map(p => p.outerHTML).join("");
console.log(output);
.red {
color: red;
}
<p class="red">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis at fermentum turpis. Maecenas congue accumsan enim, et dictum turpis malesuada et.
</p>
<p>
Mauris vitae pretium tortor. Aenean nulla ante, scelerisque in erat ac, tincidunt porttitor dolor. Sed blandit sed mi at vulputate.
</p>
<p id="three">
Curabitur lobortis at augue at hendrerit. Mauris id ligula cursus ligula dictum viverra.
</p>
<p>
Sed suscipit varius orci. Duis sit amet fermentum eros. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin commodo turpis in neque aliquam, et laoreet odio consequat.
</p>
<p data-number="5">
Nam dolor neque, lacinia sed viverra et, cursus ac ipsum. Cras gravida quam enim, sit amet tristique urna faucibus non.
</p>
<p>
Phasellus cursus, justo a volutpat pulvinar, ligula metus mollis turpis, in tincidunt ante nisl non nunc.
</p>