JS中如何对object的param赋值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中如何对object的param赋值相关的知识,希望对你有一定的参考价值。
我想通过JS参数动态修改object标签中param中的value值,如此:alert(document.getElementsByTagName("param")[2].value);可正确得到值,但是却无法如此去赋值。
参考技术A 按照你的代码改的话就是document.getElementsByTagName("param")[2].value = "my value";
这样就可以了。
但是:
document.getElementsByTagName跟根据tagname的,比如<input type="text" value="" />
的tagname是input。
你的本意是不是按照name来得到对象呢
<input type="text" name="param" value="xyz" />
<input type="text" name="param" value="xyz" />
<input type="text" name="param" value="xyz" />
所以,正确的应该是:
document.getElementsByName("param")[2].value = "my value";追问
3Q,值是能赋上,但是想通过JS,赋值之后重新reload,已新值解析。但是好像不行。除了使用iframe这种框架之外有无其它好的办法呢?
追答reload就刷新了页面,原先的js值全部会丢掉重新开始解析。没有办法用新值的。除非你reload的时候把这个新值作为参数传递到当前页面,然后在页面里读取。
追问呵呵,谢了,本身就在一个页面之中,此值只是存在于div中,想通过JS动态去load这个DIV中的内容而已,若没有好的方案,只能使用多个DIV的display去处理了,只是性能降低了。
追答不知道你的具体情况是什么样的,如果只是load一个div的内容,不是整个页面重新load的话,用ajax局部刷新应该可以做到。
追问局部内容替换,请给个小例子参考下。谢谢!
追答不知道你具体要做什么效果的,例子不好写。
原理就是ajax请求后台,把得到的值赋值给当前页面的某个div或者其他对象。
document.getElementsByTagName("param")[2].value = "xxxxx"; 参考技术C <object id=obj>
<param name="aa" value="100">
<param name="bb" value="200">
<param name="cc" value="300">
</object>
<script>
//alert(obj.childNodes[0].value);
//alert(obj.getElementsByTagName_r("param")[0].value);
var prms=document.getElementByIdx_x("obj").getElementsByTagName_r("param");
for(var i=0;i<prms.length;i++)
if(prms[i].name=="aa")
document.write(prms[i].value)
</script> 参考技术D var a="123";
document.getElementsByTagName("param")[2].value = a;
嗯,就可以了
js 中 0 和 null "" 的逻辑关系
在做字符串非空判断时,无意发现一个问题,记录下以便以后回顾。
问题描述:非空判断,只是校验传值的内容是否为""、null 、undefined。当变量 赋值的字符串内容为 0,此时做非空校验竟然返回true,说当前变量值为空。
代码如下:
1 //模拟赋值 0 2 var str = "0"; 3 4 /** 5 * 判断字符是否为空的方法 6 * 为空 返回 true 7 * 不为空返回 false 8 * @param {Object} obj 9 */ 10 function isEmpty(obj){ 11 if(typeof obj == "undefined" || obj == null || obj == ""){ 12 return true; 13 }else{ 14 return false; 15 } 16 } 17 18 function checkStr(){ 19 //模拟返回内容 20 var msg = "空值,校验失败,请检查校验内容!"; 21 22 if(isEmpty(str)){ 23 console.log("str 内容为空,返回默认时间问候语!"); 24 return msg; 25 } 26 27 //继续后续逻辑处理...... 28 }
在度娘后,查看W3C ,解释参考地址:http://www.w3school.com.cn/js/js_obj_boolean.asp
有这么一段话:(ps:摘自 http://www.w3school.com.cn/js/js_obj_boolean.asp JavaScript Boolean(逻辑)对象 文章)
1 注释:如果逻辑对象无初始值或者其值为 0、-0、null、""、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 "false" 时)!
下面的所有的代码行均会创建初始值为 false 的 Boolean 对象。
那就能解释的通了,当变量赋值 为0 则 在Boolean 值中就是false,
因为 undefined、null、"" 在Boolean 值中就也是false,所以在if 逻辑判断 时 就变成了 if(false == false) ,结果 必然就是返回 true。
也终于解惑了心中疑问。后续工作中就知道这个规则了,就可以避免这个问题的发生了。
以上是关于JS中如何对object的param赋值的主要内容,如果未能解决你的问题,请参考以下文章