ฉันจะรับค่า <span> โดยใช้ jQuery ได้อย่างไร


คำตอบ:


299

ฉันคิดว่านี่เป็นตัวอย่างง่ายๆ:

$('#item1 span').text();

หรือ

$('#item1 span').html();

1
ฉันจะหาฟังก์ชั่น jQuery เหล่านั้นได้จากที่ใด
เฟลิ Barreiros

25
ฉันคิดว่ามันสำคัญเมื่อแสดงฟังก์ชั่นทั้งสองนี้ซึ่งเราไม่ได้สับสนกับ coders ใหม่โดยแนะนำว่าพวกเขาทำสิ่งเดียวกันเมื่อพวกเขาไม่ทำ (แม้ว่าในตัวอย่างนี้มันจะปรากฏขึ้น) เป็นสิ่งสำคัญที่จะต้องทราบว่า.text()จะเข้ารหัส HTML ที่อักขระที่พบในขณะที่.html()จะไม่เข้ารหัสอักขระใด ๆ
VoidKing

สิ่งนี้สามารถเกิดขึ้นได้กับหลายช่วงในคลาสเดียวกันหรือไม่?
Matthew Woodard

ฉันสะดุดในความพยายามที่จะหา tspan เพื่อทำงานกับ IE ฉันพบว่าคุณต้องใช้. text () กับ tspan ไม่ใช่. html () ไม่แน่ใจว่าทำไมและอาจไม่ใช่กรณีสำหรับทุกคน แต่ได้แก้ไขใน IE เมื่อฉันใช้. text ()
Kalel Wade

@ MatthewWoodard $('.class').each(function() { $(this).html() });; เพราะ$('.class').html()จะส่งคืนค่า. html () สำหรับองค์ประกอบแรก
tomsihap




5

เนื่องจากคุณไม่ได้ให้แอททริบิวสำหรับค่า 'ไอเท็ม' ฉันจึงสมมติว่ามีการใช้คลาส:

<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>


1
คุณเปลี่ยนคำถาม! คำตอบของคุณเป็นที่เหมาะสมสำหรับคำถามของคุณเขาได้รับการระบุประชาชนไม่ได้ชื่อชั้น
ลูอิส

ดีถ้าคุณเห็นความคิดเห็นแรกภายใต้ชื่อของเขาคุณจะสังเกตเห็นว่าเขาไม่ได้เขียนคุณลักษณะเลยมันเป็น <div 'item1'> ฉันเดาผิดอย่างชัดเจน
Francisco Aquino





0

ข้อมูลเพิ่มเติมที่สำคัญมากเกี่ยวกับความแตกต่างระหว่าง. text () และ. html ():

หากเลือกตัวเลือกของคุณมากกว่าหนึ่งรายการเช่นคุณมีสองช่วงชอบดังนั้น <span class="foo">bar1</span> <span class="foo">bar2</span> ,

แล้วก็

$('.foo').text();ต่อท้ายสองตำราและให้คุณ; แต่ทว่า

$('.foo').html(); ให้คุณเป็นหนึ่งในนั้น


0

คุณสามารถใช้ id ในช่วงโดยตรงใน html ของคุณ

<span id="span_id">Client</span>

จากนั้นรหัส jQuery ของคุณจะเป็น

$("#span_id").text();

บางคนช่วยฉันตรวจสอบข้อผิดพลาดและพบว่าเขาใช้ val () แทน text () มันเป็นไปไม่ได้ที่จะใช้ฟังก์ชัน val () ในช่วง ดังนั้น

$("#span_id").val();

จะคืนค่าว่าง


-2
<script>
    $(document).ready(function () {

            $.each($(".classBalence").find("span"), function () {
            if ($(this).text() >1) {
                $(this).css("color", "green")

            }
            if ($(this).text() < 1) {
                $(this).css("color", "red")
                $(this).css("font-weight", "bold")
            }
        });

    });
    </script>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.