To jest podstawowe.
Jak uzyskać wartość „To jest moje imię” z powyższego zakresu?
<div id='item1'>
<span>This is my name</span>
</div>
To jest podstawowe.
Jak uzyskać wartość „To jest moje imię” z powyższego zakresu?
<div id='item1'>
<span>This is my name</span>
</div>
Odpowiedzi:
Myślę, że powinien to być prosty przykład:
$('#item1 span').text();
lub
$('#item1 span').html();
.text()
html zakoduje wszystkie znalezione znaki, a .html()
nie zakoduje żadnych znaków.
$('.class').each(function() { $(this).html() });
; ponieważ $('.class').html()
zwróci wartość .html () dla pierwszego elementu
$('#item1').text(); or $('#item1').html();
działa dobrze dla id="item1"
Ponieważ nie podałeś atrybutu dla wartości „item”, zakładam, że używana jest klasa:
<div class='item1'>
<span>This is my name</span>
</div>
alert($(".item span").text());
Upewnij się, że zaczekasz na załadowanie DOM, aby użyć twojego kodu, w jQuery używasz do tego ready()
funkcji:
<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();
Działa z moim kodem
BARDZO WAŻNE Dodatkowe informacje o różnicy między .text () i .html ():
Jeśli twój selektor wybiera więcej niż jeden element, np. Masz dwa takie zakresy
<span class="foo">bar1</span>
<span class="foo">bar2</span>
,
następnie
$('.foo').text();
dołącza oba teksty i daje ci to; natomiast
$('.foo').html();
daje tylko jedną z nich.
Możesz użyć id in span bezpośrednio w swoim html.
<span id="span_id">Client</span>
Wtedy twój kod jQuery byłby
$("#span_id").text();
Ktoś pomógł mi sprawdzić błędy i stwierdził, że użył val () zamiast text (), nie jest możliwe użycie funkcji val () w span. Więc
$("#span_id").val();
zwróci wartość null.