В чем разница между jQuery: text () и html ()? - PullRequest
259 голосов
/ 16 декабря 2009

В чем разница между функциями text () и html () в jQuery?

$("#div").html('<a href="example.html">Link</a><b>hello</b>');

против

$("#div").text('<a href="example.html">Link</a><b>hello</b>');

Ответы [ 14 ]

1 голос
/ 29 января 2019

.text() даст вам фактический текст между тегами HTML. Например, текст абзаца между p тегами. Интересно отметить, что он даст вам весь текст в элементе, на который вы нацелены с помощью селектора $, а также весь текст в дочерних элементах этого выбранного элемента. Так что если у вас есть несколько тегов p с текстом внутри элемента body, и вы делаете $(body).text(), вы получите весь текст из всех абзацев. (Только текст, а не сами теги p.)

.html() даст вам текст и теги. Так что $(body).html() в основном даст вам всю страницу HTML страницы

.val() работает для элементов с атрибутом value, например input. input не содержит текста или HTML, поэтому .text() и .html() будут null для input элементов.

0 голосов
/ 24 января 2019

Отличается .html(), оценивать как HTML, .text() оценивать как текст.
Рассмотрим блок html
HTML

<div id="mydiv">
<div class="mydiv">
    This is a div container
    <ul>
      <li><a href="#">Link 1</a></li>
      <li><a href="#">Link 2</a></li>
    </ul>
    a text after ul
</div>
</div>

JS

var out1 = $('#mydiv').html();
var out2 = $('#mydiv').text();
console.log(out1) // This output all the html tag
console.log(out2) // This is output just the text 'This is a div container Link 1 Link 2 a text after ul'

Иллюстрация по этой ссылке http://api.jquery.com/text/

0 голосов
/ 12 апреля 2016

текстовая функция устанавливает или извлекает значение в виде простого текста, в противном случае функция HTML устанавливает или извлекает значение в виде HTML-тегов, чтобы изменить или изменить его. Если вы хотите просто изменить содержимое, используйте text (). Но если вам нужно изменить разметку, вы должны использовать hmtl ().

Это глупый ответ для меня через шесть лет, не против.

0 голосов
/ 21 мая 2013

Я думаю, что разница заключается в том, чтобы вставить тег HTML в text() ваш HTML-тег не работает

$('#output').html('You are registered'+'<br>'  +'  '
                     + 'Mister'+'  ' + name+'   ' + sourname ); }

вывод:

You are registered <br> Mister name sourname

с заменой text() на html()

вывод

You are registered
Mister name sourname 

тогда тег <br> работает в html()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...