.text()
Описание: Получает комбинированное содержание текста каждого элемента в наборе соответствующих элементов, в том числе их потомков.
.text()
В отличии от метода .html(), метод .text() может быть использован как в XML так и в HTML документах. Результатом метода .text() является строка, включающая комбинированный текст всех соответствующих элементов. (В следствии вариаций в анализаторах HTML в различных браузерах, возвращаемый текст может варьироваться новыми строками и другими пробелами.) Рассмотрим следующий HTML:
<div class="demo-container"> <div class="demo-box">Demonstration Box</div> <ul> <li>list item 1</li> <li>list <strong>item</strong> 2</li> </ul> </div>
Код $('div.demo-container').text() выдаст следующий результат:
Demonstration Box list item 1 list item 2
Метод .text() не может быть использован на элементы ввода. Для элементов ввода используйте метод .val().
Начиная с jQuery 1.4, метод .text() возвращает значение текста и узлы CDATA так же как и узлы элементов.
Примеры
Поиск текста в первом параграфе (путем анализа HTML кода), затем вставка найденного текста в последний параграф, но без форматирования (пропал красный цвет и жирный текст).Полный код:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript" language="javascript"> $(document).ready(function(){ var str = $("p:first").text(); $("p:last").html(str); }); </script> <style> p { color:blue; margin:8px; } b { color:red; } </style> </head> <body> <p><b>Test</b> Paragraph.</p> <p></p> </body> </html>
.text( строкаТекста )
Описание: Устанавливает содержание каждого элемента в набор элементов, которые соответствуют заданному тексту.
.text( строкаТекста )
.text( function(индекс, текст) )
В противоположность методу .html(), .text() может быть использован как в XML так и HTML документах.
Мы должны отдавать себе отчет, что этот метод изменяет представленную строку по мере необходимости, чтобы она создавала правильный HTML. Чтобы сделать это, он вызывает DOM метод .createTextNode(), который заменяет специальные символы на их HTML эквиваленты (как, например, < для <). Рассмотрим следующий HTML:
<div class="demo-container">
<div class="demo-box">Demonstration Box</div>
<ul>
<li>list item 1</li>
<li>list <strong>item</strong> 2</li>
</ul>
</div>
Код $('div.demo-container').text('<p>This is a test.</p>'); выдаст следующий результат DOM:
<div class="demo-container"> <p>This is a test.</p> </div>
В результате теги открылись:
<p>This is a test</p>
Метод .text() не может быть использован на элементы ввода. Для полей ввода текста используйте метод .val().
Начиная с jQuery 1.4, метод .text() позволяет нам установить содержание текста с помощью передачи его в функцию.
$('ul li').text(function(index) {
return 'item number ' + (index + 1);
});
На данный неотсортированный список с тремя элементами <li>, этот пример выдаст следующий результат DOM:
<ul> <li>item number 1</li> <li>item number 2</li> <li>item number 3</li> </ul>
Примеры
Добавление текста к параграфу (обратите внимание, тег b экранирован).$("p").text("Some new text.");
Полный код:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript" language="javascript"> $(document).ready(function(){ $("p").text("<b>Some</b> new text."); }); </script> <style> p { color:blue; margin:8px; } </style> </head> <body> <p>Test Paragraph.</p> </body> </html>

