Используйте 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 и текст


5

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


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

4

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


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