Используйте jquery для установки значения тега div

81

У меня есть этот тег html div:

<div style="height:100px; width:100px" class="total-title">
    first text
</div>

У меня есть код jquery для изменения его значения:

 $('div.total-title').html('test');

Но это не меняет содержимого div.

воздух
источник
2
Где именно вы выполняете оператор: $ ('div.total-title'). Html ('test'); ??
Ник Х.
1
В коде нет абсолютно ничего плохого, если вы вызываете js-код после того, как DOM готов. Фарзад, правильно ответил.
Simplyharsh

Ответы:

156

если ваше значение представляет собой чистый текст (например, test), вы также можете использовать метод text (). как это:

$('div.total-title').text('test');

в любом случае, что касается проблемы, которую вы разделяете, я думаю, вы могли бы вызвать код JavaScript до того, как HTML-код для DIV будет отправлен в браузер. убедитесь, что вы вызываете строку jQuery в теге <script> после <div> или в такой инструкции:

$(document).ready(
    function() {
        $('div.total-title').text('test');
    }
);

таким образом скрипт выполняется после того, как HTML-код div анализируется браузером.

Фарзад
источник
3
Когда я поставил его как div.total-value, он не работал. Но после того, как он сделал это как # total-value, он работает
Нипуна
Зачем тебе нужно разрывать анонимную функцию? будет ли работать без него?
Нахсер Бахт
Поскольку страница еще не настроена, если она не завершила загрузку, div может даже не существовать, если вы просто поместите необработанный код на верхний уровень, скажем, <head>.
DragonLord
требуется либо готовая, либо анонимная функция, чтобы отложить оценку. В этом повторяющемся случае я считаю, что код избыточен, но он побуждает специалистов по сопровождению программного обеспечения вырезать и вставлять, чтобы впоследствии избежать ошибок.
DragonLord
да, я думаю, так и должно быть$('#div.total-title').text('test');
Хинси
9

Чтобы поместить текст, используйте .text('text')

Если вы хотите использовать .html(SomeValue), SomeValue должен иметь теги html, которые могут находиться внутри div, он тоже должен работать.

Просто проверьте местоположение вашего скрипта, как сказал фарзад.

Ссылка: .html и текст

MaLKaV_eS
источник
5

попробуйте эту функцию $('div.total-title').text('test');

Alex H
источник
текст теперь устарел, для версии 1.4 или более ранней.
Ришаб,
4

Вы сослались на файл jQuery JS, не так ли? Нет никаких причин, по которым ответ фарзада не должен работать.

djdd87
источник
0

При использовании .html()метода htmlStringдолжен быть параметром. ( источник ) Поместите свою строку в тег HTML, и она должна работать или использоваться, .text()как предлагает farzad.

Пример:

<div class="demo-container">
    <div class="demo-box">Demonstration Box</div>
</div>

<script type="text/javascript">
$("div.demo-container").html( "<p>All new content. <em>You bet!</em></p>" );
</script>
Джо Смо
источник
0

используйте, как показано ниже:

<div id="getSessionStorage"></div>

Чтобы добавить что-либо, используйте приведенный ниже код для справки:

$(document).ready(function () {
        var storageVal = sessionStorage.getItem("UserName");
        alert(storageVal);
        $("#getSessionStorage").append(storageVal);
     });

Это будет выглядеть в HTML, как показано ниже (при условии, что storageVal = "Rishabh")

<div id="getSessionStorage">Rishabh</div>
Ришаб
источник