如何在页面上显示JS中的变量值,以及JS中value/innerText/innerHTML三个属性的区别

在页面上显示JS中的变量值

想要在页面上显示JavaScript中定义的变量值,查到两种方法:

一是通过document.write();二是在页面节点上显示

<div id='div'></div>
<script>
	var a="123";//以下为两种在页面上显示变量值的方式
	document.write(a);//1、页面上显示a的值“123”
	document.getElementById('div').innerHTML = a;//2、在div节点上显示
</script>

以上代码可以放在<body>中直接运行,需要注意的一点是:没有写在函数中的JS代码,在HTML中的执行顺序是从上至下;如果将其放在<head>中,第二处 DOM 获取不到<body>中“div”的 id 。

后一种实现方法需要在想要显示的位置,添加对应HTML语言标记。此处用的是div标签,但自己之前没有了解过innerHTML(html 中 DOM节点的一个属性,使用该方法可以获取元素的内容,然后在对其进行操作(改变),其中 HTML 均为大写),而比较熟悉的是表单的value属性,这个也是可以用来实现以上需求的。

JS中value/innerText/innerHTML三个属性的区别

以上三者均能实现 双向 功能,即获取对象的内容向对象插入内容,以上代码中实现的就是插入(也可以替换)功能。

三者的具体用法和异同如下:
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>test</title>
</head>
<body>
input value:<input id="value" type="text" style="border:0px;" value="This is a <b>String</b>"/><br/><br/>
innerText  :<span id="innerText">This is a <b>String</b></span><br/><br/>
innerHTML:<span id="innerHTML">This is a <b>String</b></span><br/><br/>
<input id="replace" type="button" value="replace" onclick="replace()"/>
<script >
    var iv=document.getElementById("value");
    var it=document.getElementById("innerText");
    var ih=document.getElementById("innerHTML");
    var content="Replaced by a <b>Tag</b>";
    alert("input value:"+iv.value+"\n" +
        "innerText   :"+it.innerText+"\n" +
        "innerHTML:"+ih.innerHTML);
    function replace() {
        iv.value=content;
        it.innerText=content;
        ih.innerHTML=content;
    }
</script>
</body>
</html>

初步运行结果,如右侧JavaScript提示中显示的内容,体现的是该属性获取对象内容功能的效果:

1、value:赋值字符串的全部内容
2、innerText:标签内从起始位置到终止位置的文本内容,即去除HTML标记 的字符串;
3、innerHTML:标签内从起始位置到终止位置的全部内容,包括HTML标记,显示该 DOM 内部纯HTML代码;

(此处首先显示的,应只是JavaScript提示;本来不点击确定,是不会显示页面内容的。这里可能是因为,自己拖拽了标签页,才使得网页显示更新?以下是同框截图。)

运行结果

点击replace按钮,页面更新如下:

内容替换之后
可以发现,这三者都会把元素内内容替换掉,实现向对象插入内容的功能,区别在于:

1、value:替换字符串的全部内容
2、innerText:替换字符串的全部内容,包含的 HTML 标记原样输出而不执行;
3、innerHTML:替换字符串中经过修饰的文本内容,包含的 HTML 标记在输出时进行了解释执行;

写在后面的话

值得注意的是,value作为表单元素(此处为text类型)特有的属性,三次输出都是赋值接受的原字符串。

另外,在字符串内容无特殊标记时,innerHTML和innerText的效果是相同的,但推荐尽可能使用前者,少用后者(innerHTML是符合W3C标准的属性,而innerText只适用于IE浏览器)

如果要用innerHTML输出不含HTML标签的内容,可以在取得包含HTML标签的内容后,再用正则表达式去除HTML标签。

  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript ,`.value`、`.innerHTML` 和 `.innerText` 是用于获取或设置元素内容的属性。 `.value` 属性通常用于表单元素,如输入框和下拉列表。它用于获取或设置表单元素的值。例如,如果有一个输入框元素: ``` <input type="text" id="myInput"> ``` 您可以使用以下代码获取或设置它的值: ``` var inputElement = document.getElementById("myInput"); var inputValue = inputElement.value; // 获取输入框的值 inputElement.value = "Hello, world!"; // 设置输入框的值 ``` `.innerHTML` 属性用于获取或设置元素的 HTML 内容。例如,如果有一个 div 元素: ``` <div id="myDiv"></div> ``` 您可以使用以下代码获取或设置它的 HTML 内容: ``` var divElement = document.getElementById("myDiv"); var htmlContent = divElement.innerHTML; // 获取 div 的 HTML 内容 divElement.innerHTML = "<p>Hello, world!</p>"; // 设置 div 的 HTML 内容 ``` `.innerText` 属性用于获取或设置元素的文本内容,但与 `.innerHTML` 不同,它会忽略 HTML 标签。例如,如果有一个 p 元素: ``` <p id="myP">Hello, <strong>world</strong>!</p> ``` 您可以使用以下代码获取或设置它的文本内容: ``` var pElement = document.getElementById("myP"); var textContent = pElement.innerText; // 获取 p 的文本内容,返回 "Hello, world!" pElement.innerText = "Goodbye, world!"; // 设置 p 的文本内容 ``` 需要注意的是,`.innerHTML` 和 `.innerText` 都可以用于获取和设置元素的内容,但它们之间存在一些差异。`.innerHTML` 可以用于设置元素的 HTML 内容,而 `.innerText` 仅用于设置元素的文本内容。此外,`.innerHTML` 可能会导致安全问题,因为它允许插入任意的 HTML 代码。因此,在设置 `.innerHTML` 时应格外小心。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值