Это основное.
Как я могу получить значение «Это мое имя» из вышеуказанного диапазона?
<div id='item1'>
<span>This is my name</span>
</div>
Это основное.
Как я могу получить значение «Это мое имя» из вышеуказанного диапазона?
<div id='item1'>
<span>This is my name</span>
</div>
Ответы:
Я думаю, что это должен быть простой пример:
$('#item1 span').text();
или
$('#item1 span').html();
.text()
html будет кодировать любые найденные символы, но .html()
не будет кодировать любые символы.
$('.class').each(function() { $(this).html() });
; потому $('.class').html()
что вернет значение .html () для первого элемента
$('#item1').text(); or $('#item1').html();
отлично работает для id="item1"
Поскольку вы не указали атрибут для значения item, я предполагаю, что используется класс:
<div class='item1'>
<span>This is my name</span>
</div>
alert($(".item span").text());
Убедитесь, что вы ожидаете загрузки DOM для использования вашего кода, в jQuery вы используете ready()
функцию для этого:
<html>
<head>
<title>jQuery test</title>
<!-- script that inserts jquery goes here -->
<script type='text/javascript'>
$(document).ready(function() { alert($(".item span").text()); });
</script>
</head>
<body>
<div class='item1'>
<span>This is my name</span>
</div>
</body>
$('#item1 span').html();
Это работает с моим кодом
ОЧЕНЬ ВАЖНО Дополнительная информация о разнице между .text () и .html ():
Если ваш селектор выбирает более одного элемента, например, у вас есть два пролета, например
<span class="foo">bar1</span>
<span class="foo">bar2</span>
,
затем
$('.foo').text();
добавляет два текста и дает вам это; в то время как
$('.foo').html();
дает вам только один из них.
Вы можете использовать идентификатор в span непосредственно в вашем HTML.
<span id="span_id">Client</span>
Тогда ваш код JQuery будет
$("#span_id").text();
Кто-то помог мне проверить ошибки и обнаружил, что он использует val () вместо text (), невозможно использовать функцию val () в span. Так
$("#span_id").val();
вернет ноль.