js中 val value valueof的区别

JavaScript010

js中 val value valueof的区别,第1张

val()是jQuery方法,如:$("input:text").val(),或$("input:text").val("demo")

value是js对象的属性,如document.getElementById("demo").value,或document.getElementById("demo").value="demo"。

valueof是js对象的方法,如

var fruits = ["Banana", "Orange", "Apple", "Mango"]

var v=fruits.valueOf()

结果是:Banana,Orange,Apple,Mango

有如下字符串:<title="dd">有引号"还是很多个"</title>;

现在我想通过JSP的SET传值给JAVABEAN去处理,于是我是这样写的:

<%

String str = "<title="dd">有引号"还是很多个"</title>"

BeanName.setstr(str)

…………

%>

很明显在赋值的时候就出错了,我知道里面的双引号前要加 "\"。

我现在的问题是,字符串不能手动改,也就是说赋值的时候不能手动去加转义符,请问先要怎么做?

如果是过滤函数要怎么用?因为我发现我赋值的时候就不对,有过滤函数也没用啊。高手指点!

另:我通过提交表单的方式把字符串传到JAVABEAN时不用加任何处理。比如这样写:

<input value='<title="dd">有引号"还是很多个"</title>'>//外面用单引号JAVABEAN能正常接收

$(document).ready(function(){

})

因为这个是页面加载完执行的,而页面加载的时候 #ad的value值是空的,所以打印出来是空白的。

这样写就可以输出了(页面加载的时候value="000111"):

<p><input type="text" id="ad" value="000111" /></p>

<input type="button" id="asd" />

<script>

$(document).ready(function(){

var te = $("#ad").val()

$("#asd").click(function(){

alert(te)

})

})

</script>