在进行对html页面或者jsp文件编写的时候,可能会遇到输出尖括号,也就是""的时候,但是我们知道,在html页面中,
尖括号有着特殊的含义,如果在html页面中单独输出尖括号是不影响页面的展示效果的。
<<<
$("#show_p").text($("#input_textarea").text());
})
运行这段代码,然后点击按钮,然后使用控制台审查元素,我们可以看到,代码变成了
<<<
<<<
$("#cl").click(function(){
$("#show_p").text($("#input_textarea").text());
})
也就是说将箭头转义成了无意义的字符,这样一来就不会影响页面的正常使用,而且不仅是360和谷歌浏览器,就连
IE浏览器也会显示成转义字符,所以说单独使用箭头是不会影响页面的,但是如果使用一个标签呢。
ceshi
$("#show_p").text($("#input_textarea").text());
})
运行这段代码,然后点击按钮,然后使用控制台审查元素,我们可以看到,代码变成了
ceshi
ceshi
$("#cl").click(function(){
$("#show_p").text($("#input_textarea").text());
})
我们知道标签是不属于html标签的,但是我们使用了尖括号让html以为它是一个标签,而且我们只输入了一个标签,
并没有输入结束标签,但是浏览器为我们自动补全了,于是它就变成了一个标签,但是我们看到id为show_p的文本是ceshi,
因为text()方法是获取文本而忽略标签,所以并没有获取到标签,但是不能用这种方式来进行过滤,我们来看下一种方式。
$("#show_p").text($("#input_textarea").val());
})
运行这段代码,在输入框中输入"paad"然后点击按钮,然后使用控制台审查元素,我们可以看到,代码变成了
<videoo>paad
$("#cl").click(function(){
$("#show_p").text($("#input_textarea").val());
})
我们可以看到id尾show_p的元素中显示的是转义过的字符,虽然我不知道val()方法能不能处理特殊意义字符,但是通过实践可以得知
通过val()显示的箭头已经经过了转义。
但是用val()总是感觉不太合适,接下来我们看在jsp中应该怎么处理特殊意义字符。
Insert title here这是第二个页面
这是一段jsp文件的代码,运行该文件,在输入框中输入"dfdf",然后使用控制台审查元素,我们可以看到,代码变成了
这是第二个页面
<video>dfdf
dfdf
我们可以看到,经过c:out标签输出的经过了特殊转义,但是使用jsp语句的也就是在中的代码输出的是没有经过转义的。
最后,我们可以总结一下,在html中,使用text()是获得元素的文本,但是text()会忽略标签,所以获得的是纯文本,如果希望获得标签,就要使用
val(),在输入框中输入含有标签的字段,然后获取的val()显示出来也会有标签。
在jsp中,想要输出的话,最好使用c:out标签,因为它可以处理含有特殊意义的字符。