Đây là cơ bản.
Làm cách nào để tôi nhận được giá trị 'Đây là tên của tôi' của khoảng trên?
<div id='item1'>
<span>This is my name</span>
</div>
Đây là cơ bản.
Làm cách nào để tôi nhận được giá trị 'Đây là tên của tôi' của khoảng trên?
<div id='item1'>
<span>This is my name</span>
</div>
Câu trả lời:
Tôi nghĩ rằng đây phải là một ví dụ đơn giản:
$('#item1 span').text();
hoặc là
$('#item1 span').html();
.text()
html sẽ mã hóa bất kỳ ký tự nào nó tìm thấy, trong khi .html()
sẽ không mã hóa bất kỳ ký tự nào.
$('.class').each(function() { $(this).html() });
; bởi vì $('.class').html()
sẽ trả về giá trị .html () cho phần tử đầu tiên
$('#item1').text(); or $('#item1').html();
hoạt động tốt cho id="item1"
Vì bạn không cung cấp một thuộc tính cho giá trị 'mục', tôi giả sử một lớp đang được sử dụng:
<div class='item1'>
<span>This is my name</span>
</div>
alert($(".item span").text());
Hãy chắc chắn rằng bạn đợi DOM tải để sử dụng mã của mình, trong jQuery bạn sử dụng ready()
hàm cho điều đó:
<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();
Nó hoạt động với mã của tôi
RẤT QUAN TRỌNG Thông tin bổ sung về sự khác biệt giữa .text () và .html ():
Nếu bộ chọn của bạn chọn nhiều mục, ví dụ: bạn có hai nhịp như vậy
<span class="foo">bar1</span>
<span class="foo">bar2</span>
,
sau đó
$('.foo').text();
nối hai văn bản và cung cấp cho bạn rằng; trong khi
$('.foo').html();
chỉ cung cấp cho bạn một trong số đó.
Bạn có thể sử dụng id trong span trực tiếp trong html của bạn.
<span id="span_id">Client</span>
Sau đó, mã jQuery của bạn sẽ là
$("#span_id").text();
Một số người đã giúp tôi kiểm tra lỗi và thấy rằng anh ta đã sử dụng val () thay vì text (), không thể sử dụng hàm val () trong span. Vì thế
$("#span_id").val();
sẽ trả về null.