2012-03-15 31 views
13

Tôi đã tạo một liên kết e-mail tự động điền thông tin cần thiết vào nội dung. Nhưng, khi tôi làm .innerHTML Tôi nhận được nhiều hơn một chút so với tôi mặc cả.innerHTML không có html, chỉ cần nhắn tin

Tôi muốn "Tháng Ba, 2012: 12-16"

Những gì tôi có được <B>March, 2012</B>: <FONT color=blue>12</FONT> - <FONT color=blue>16</FONT>

Có cách nào để có được những innerHTML mà không có thẻ html?

.value = undefined 
.text = undefined 
+0

Tôi nghĩ rằng có một thuộc tính innerText ... –

+0

'textContent' ... –

+1

Hãy xem http://stackoverflow.com/questions/822452/strip- html-from-text-javascript –

Trả lời

27

Bạn muốn .textContent trong tất cả các IE cũ hơn và .innerText trong IE (< 9).

Vì vậy, hãy thử:

string = (node.textContent===undefined) ? node.innerText : node.textContent;

EDIT: Hoặc, chỉ cần sử dụng GGG của nhiều bụi string = (node.innerText || node.textContent), vì undefined là falsy.

+2

cái gì ... '(node.innerText || node.textContent)'. Mặc dù chúng không giống hệt nhau ... –

+0

GGG là ai? Thay đổi bản ngã? – Stanislav

+0

@Stanislav http://web.archive.org/web/20120927230726/http://stackoverflow.com/questions/9727111/innerhtml-without-the-html-just-text#answer-9727182 (Xem thêm [Nếu tôi thay đổi tên hiển thị của tôi, thay đổi sẽ phản ánh trong các bình luận?] (http://meta.stackexchange.com/questions/59884/if-i-change-my-display-name-will-the-change-reflect-in- bình luận)) – apsillers

4

Trong trình duyệt hỗ trợ chuẩn, bạn có thể sử dụng textContent thay vì innerHTML. Nếu không, bạn có thể lặp qua các nút tiếp theo và nối chúng lại, hoặc sử dụng thư viện như jQuery trừu tượng hóa phương pháp này cho bạn.

+0

Công ty đang sử dụng phiên bản cũ hơn của IE và textContent trả về không xác định. innerText làm việc tốt mặc dù. Có lý do nào khiến tôi không nên sử dụng innerText không? – cphilpot

+0

'innerText' không chính xác là' textContent'. Nếu bạn phải làm việc trong môi trường chỉ có IE, thì tôi không thấy bất kỳ tác hại nào khi sử dụng nó - nó không phải là tiêu chuẩn. Ở đây các refs: http://msdn.microsoft.com/en-us/library/ms533899(v=vs.85).aspx – ZER0

0

Nếu bạn đang sử dụng jQuery, bạn có thể sử dụng .text():

http://jsfiddle.net/vkgYR/

nếu bạn không sử dụng nó mặc dù, bạn chỉ nên đi với các ý kiến ​​khác vì nó sẽ là ngớ ngẩn tải tất cả jQuery chỉ cho phương thức .text()

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