2012-01-29 31 views
6
.
document.getElementById("test").value 

document.getElementById("test").innerHTML 

Liệu có nghĩa là lần đầu tiên địa chỉ và có nghĩa là các giá trị được lưu trữ tại địa chỉ thứ hai? Ngoài ra, tôi có thể tìm tài liệu ở bất động sản value ở đâu?sự khác biệt giữa document.getElementById là gì ("test") giá trị. Và document.getElementById ("test") innerHTML

+0

[w3schools site] (http://www.w3schools.com/) có [tham chiếu tốt trên DOM HTML] (http://www.w3schools.com/jsref/default.asp). –

+0

@BrianRogers - Xin vui lòng không khuyên bạn nên w3schools. Xem http://w3fools.com để biết lý do. – Oded

+0

@Oded - Tôi đã tìm thấy tham chiếu HTML DOM của họ khá hữu ích. Nếu bạn cảm thấy mạnh mẽ về trang web, nó sẽ mang tính xây dựng hơn để bạn đề xuất một tham chiếu thay thế cho HTML DOM. –

Trả lời

10

.value mang đến cho bạn hiện đang thiết lập giá trị của một yếu tố hình thức (input, select, textarea), trong khi .innerHTML tạo chuỗi HTML dựa trên các nút DOM mà phần tử chứa.

Ví dụ đơn giản, truy cập JS Fiddle demo và nhập giá trị mới vào input rồi di chuyển ra khỏi đầu vào.

Xét nghiệm này sử dụng JavaScript sau:

document.getElementById('input').onchange = function(){ 
    alert('innerHTML: ' + document.getElementById('input').innerHTML + '; whereas value: ' + document.getElementById('input').value); 
}; 

(Văn bản trên được cập nhật, sau một bình luận trái bởi am not i am, trong ý kiến ​​dưới đây.)

+2

Tôi rất thích nó nếu bạn thay vào đó nói * "' .HTMLHTML' xây dựng một chuỗi HTML dựa trên các nút DOM phần tử chứa "* (hoặc cái gì đó tương tự) vì nút DOM không có bất kỳ nội dung" HTML "nào. –

+1

@amnotiam, đã đồng ý. Văn bản của tôi được cập nhật và cảm ơn bạn đã làm rõ. =) –

3

một số yếu tố HTML có thuộc tính "value", chẳng hạn như <input/> một số khác không có.

nếu bạn muốn sửa đổi chúng, bạn có thể sử dụng thuộc tính DOM (được sử dụng với Javascript) innerHTML (nếu có). thuộc tính này đại diện cho nội dung của một phần tử, vì vậy nó có thể được sử dụng cho các yếu tố chấp nhận để tổ yếu tố khác như <div/>,

3

Nhiều yếu tố trong HTML có thể có một ID, vì vậy định nghĩa của value sẽ thay đổi cho mỗi.

value về cơ bản yếu tố đó sẽ hiểu như một giá trị. Ví dụ: <input type=text> sẽ cung cấp cho bạn văn bản bên trong.

innerHTML sẽ là mã HTML bên trong. Ví dụ, một số <TR> sẽ có con của nó TD, cộng với bất cứ điều gì khác là ở đó.

valueinnerHTML có thể (thường) được ghi vào, cũng như đọc.

1

Điều này phải liên quan đến cách một số thẻ hoạt động dựa trên thuộc tính của chúng trong đó các thẻ khác hoạt động trên văn bản giữa thẻ mở và thẻ đóng.

.value truy xuất bất kỳ giá trị nào được đặt cho thuộc tính value của thẻ. .innerHTML truy xuất bất kỳ nội dung nào nằm ở giữa thẻ mở và đóng.

Ví dụ nếu thẻ HTML là
<input type="text" value="Enter name here" id="user_name" />
và bạn sử dụng JavaScript
var name = document.getElementById('user_name').value
sẽ khai báo một biến name và đặt cho nó giá trị "Nhập tên here" (giả sử người dùng không thay đổi nó).Mặt khác nếu bạn có HTML như
<div id="abc">blah blah</div>
sau đó bạn sẽ sử dụng
var text = document.getElementById('abc')
và đó sẽ đặt biến text để "blah blah".

0
document.getElementByid('test').value 

được sử dụng để cung cấp giá trị trong trường văn bản. Giống như

<input type="text" id="test" name="test"> 

Bây giờ nó đặt giá trị trong văn bản này.

Trong khi document.getElementByid('test').innerHTML được sử dụng để cung cấp giá trị trong một khu vực được chỉ định. Giống như

<div id="test"> 
</div> 

Bây giờ, nó in giá trị trong khu vực div.

Các vấn đề liên quan