Sử dụng jquery để đặt giá trị của thẻ div


80

Tôi đã xác định thẻ div html này:

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

Tôi có mã jquery để thay đổi giá trị của nó:

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

Nhưng điều này không thay đổi nội dung của div.


2
Bạn thực thi câu lệnh chính xác ở đâu: $ ('div.total-title'). Html ('test'); ??
Niek H.

1
Hoàn toàn không có gì sai với mã, nếu bạn gọi mã js sau khi DOM đã sẵn sàng. Farzad, đã trả lời chính xác.
simpleharsh

Câu trả lời:


155

nếu giá trị của bạn là một văn bản thuần túy (như 'test'), bạn cũng có thể sử dụng phương thức text (). như thế này:

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

Dù sao, về vấn đề bạn đang chia sẻ, tôi nghĩ bạn có thể đang gọi mã JavaScript trước khi mã HTML cho DIV được gửi đến trình duyệt. đảm bảo rằng bạn đang gọi dòng jQuery trong thẻ <script> sau thẻ <div> hoặc trong một câu lệnh như sau:

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

theo cách này, tập lệnh thực thi sau khi HTML của div được trình duyệt phân tích cú pháp.


3
Khi tôi đặt nó như div.total-value, nó không hoạt động. Nhưng sau khi thực hiện nó như # tổng giá trị nó hoạt động
Nipuna

tại sao bạn cần đọc nó xung quanh một chức năng ẩn danh? nó sẽ hoạt động mà không có nó?
Nahser Bakht

Bởi vì trang chưa được thiết lập nếu nó chưa tải xong, vì vậy div thậm chí có thể chưa tồn tại nếu bạn chỉ cần đặt mã thô ở cấp cao nhất, chẳng hạn như <head>.
DragonLord ngày

chức năng sẵn sàng hoặc chức năng ẩn danh là bắt buộc để trì hoãn việc đánh giá. Trong trường hợp dư thừa này, tôi tin rằng mã là quá mức cần thiết, nhưng nó khuyến khích những người bảo trì phần mềm cắt và dán để tránh những sai lầm sau này.
DragonLord,

vâng, tôi nghĩ rằng nó phải được$('#div.total-title').text('test');
hynsey

9

Để nhập văn bản, hãy sử dụng .text('text')

Nếu bạn muốn sử dụng .html(SomeValue), SomeValue phải có các thẻ html có thể nằm trong div, nó cũng phải hoạt động.

Chỉ cần kiểm tra vị trí tập lệnh của bạn, như farzad đã nói.

Tham khảo: .htmlvăn bản


5

thử chức năng này $('div.total-title').text('test');


văn bản hiện đã lỗi thời, đối với v1.4 trở lại.
Rishabh

4

Bạn đã tham chiếu đến tệp jQuery JS phải không? Không có lý do gì tại sao câu trả lời của farzad không hoạt động.


0

Khi sử dụng .html()phương thức, a htmlStringphải là tham số. ( nguồn ) Đặt chuỗi của bạn bên trong thẻ HTML và nó sẽ hoạt động hoặc sử dụng .text()theo đề xuất của farzad.

Thí dụ:

<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

sử dụng như bên dưới:

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

Đối với điều này để nối bất cứ điều gì, hãy sử dụng mã dưới đây để tham khảo:

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

Điều này sẽ xuất hiện như bên dưới trong html (giả sử storageVal = "Rishabh")

<div id="getSessionStorage">Rishabh</div>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.