Как получить значение <span> с помощью jQuery?


Ответы:


299

Я думаю, что это должен быть простой пример:

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

или

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

1
Где я могу найти эти функции jQuery?
Фелипе Баррейрос

25
Я думаю, что при показе этих двух функций важно, чтобы мы не путали новых кодеров, предлагая им делать то же самое, когда они этого не делают (хотя в этом примере это будет выглядеть так). Важно отметить, что .text()html будет кодировать любые найденные символы, но .html()не будет кодировать любые символы.
VoidKing

Может ли это быть достигнуто с несколькими пролетами одного и того же класса?
Мэтью Вудард

Я наткнулся на это, пытаясь понять tspan для работы с IE. Я обнаружил, что вам нужно использовать .text () с tspan, а не .html (). Не уверен, почему, и это может быть не для всех, но это исправило это в IE, когда я использовал .text ().
Калель Уэйд

@MatthewWoodard $('.class').each(function() { $(this).html() });; потому $('.class').html()что вернет значение .html () для первого элемента
tomsihap


7

Предполагая, что вы намеревались прочитать id = "item1", вам нужно

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


5

Поскольку вы не указали атрибут для значения 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>


1
Вы изменили вопрос! Ваш ответ правильный для вашего вопроса, он указывал идентификатор, а не имя класса
Льюис

хорошо, если вы увидите первый комментарий под его именем, вы заметите, что он вообще не писал атрибут, это был <div 'item1'>, я, по-видимому, ошибся.
Франциско Акино





0

ОЧЕНЬ ВАЖНО Дополнительная информация о разнице между .text () и .html ():

Если ваш селектор выбирает более одного элемента, например, у вас есть два пролета, например <span class="foo">bar1</span> <span class="foo">bar2</span> ,

затем

$('.foo').text();добавляет два текста и дает вам это; в то время как

$('.foo').html(); дает вам только один из них.


0

Вы можете использовать идентификатор в span непосредственно в вашем HTML.

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

Тогда ваш код JQuery будет

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

Кто-то помог мне проверить ошибки и обнаружил, что он использует val () вместо text (), невозможно использовать функцию val () в span. Так

$("#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>
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.