to insert/change a textNode value, there are 3 ways.
text.data = null
text.nodeValue = undefined
text.textContent = undefinedWhichever method you use, be sure to take a fallback for undefined/null.
text.data = str || ""Otherwise, an unexpected string will be inserted.
| param/method | FF30 | IE11 | Opera | Chrome31 | iPad他モバイル |
|---|---|---|---|---|---|
| undefined/textContent | "" | undefined | undefined | undefined | undefined |
| undefined/nodeValue | "" | undefined | undefined | undefined | undefined |
| undefined/data | undefined | undefined | undefined | undefined | undefined |
| null/textContent | "" | "" | "" | "" | "" |
| null/nodeValue | "" | "" | null | "" | "" |
| null/data | "" | null | "" | "" | "" |
var fns = [
"textContent",
"nodeValue",
"data"
]
var args = [
undefined,
null
]
args.map(function(e){
return fns.map(function(ee){
var text = document.createTextNode("")
text[ee] = e
return e +"/"+ ee + "|" + (text.data||'""')
}).join("\n")
}).join("\n")textContent breaks all children of node(element).
<div>
<p>text</p>
</div>div.textContent = "" // breaks p element