Javascript - 没有innerHTML的div内容

发布于 2024-12-10 21:54:49 字数 34 浏览 0 评论 0原文

我想问如何更改div内容,但不使用innerhtml。

I wanted to ask how to change div content, but not using innerhtml.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

み零 2024-12-17 21:54:49

演示: http://jsfiddle.net/Cb6ME/

   // get the div
var div = document.getElementById('foo');

   // remove child nodes while at least one exists
while( div.childNodes[0] ) {
    div.removeChild( div.childNodes[0] );
}
   // create a new span element
var span = document.createElement( 'span' );

   // give it some text content
span.appendChild( document.createTextNode("I'm new!!!") );

   // append the span to the original div
div.appendChild( span );

DEMO: http://jsfiddle.net/Cb6ME/

   // get the div
var div = document.getElementById('foo');

   // remove child nodes while at least one exists
while( div.childNodes[0] ) {
    div.removeChild( div.childNodes[0] );
}
   // create a new span element
var span = document.createElement( 'span' );

   // give it some text content
span.appendChild( document.createTextNode("I'm new!!!") );

   // append the span to the original div
div.appendChild( span );
清引 2024-12-17 21:54:49

您可以使用 nodeValue 访问节点的值,但也可以使用 div 的值。在你的示例中,你可能有以下 HTML...

<div id="myLovelyDiv">This is the text that you want to change</div>

和这个脚本...

var myDiv = getElementById("myLovelyDiv");
myDiv.childNodes[0].nodeValue = "The text has been changed.";

但我不明白为什么你不使用

myDiv.innerHTML = "The text has been changed properly.";

You can use nodeValue to access the value of a node, however the value of a div. In your example you might have the following HTML...

<div id="myLovelyDiv">This is the text that you want to change</div>

and this script...

var myDiv = getElementById("myLovelyDiv");
myDiv.childNodes[0].nodeValue = "The text has been changed.";

but I fail to see why you wouldn't use

myDiv.innerHTML = "The text has been changed properly.";
牵你的手,一向走下去 2024-12-17 21:54:49

DIV 元素是 HTML 中的通用块级(默认)元素,用作结构容器来保存一个或多个块或内联元素。

根据您想要更改的内容,您可以直接选择有问题的子节点,循环遍历 childNodes 属性以找到所需的子节点,或者使用 innerHTML 将内容完全重写为 html(您声明您没有这样做)想做)。

如果要添加内容,可以创建一个新元素并使用 DIV 元素的appendChild(child) 方法来添加其内容。

这就是您要找的吗?

A DIV element is a generic block level (by default) element in HTML used as a structural container to hold one or more block or inline elements.

Depending on what it is you want to change you can either select the sub-node in question directly, loop over the childNodes property to find the desired sub-node or completely rewrite the contents as html using innerHTML (which you stated you didn't want to do).

If you want to add content you can create a new element and use the appendChild(child) method of the DIV element to add to it's contents.

Is that what you were looking for?

银河中√捞星星 2024-12-17 21:54:49

我知道我迟到了,但是 .textContent 可以替换为 .innerHTML (如果您只想更改文本而不是 HTML 代码)。

I know I'm late but .textContent can be replaced for .innerHTML (if you only want to change the text and not code HTML).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文