JS中如何对object的param赋值

我想通过JS参数动态修改object标签中param中的value值,如此:alert(document.getElementsByTagName("param")[2].value);可正确得到值,但是却无法如此去赋值。

第1个回答  推荐于2017-12-15
按照你的代码改的话就是
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或者其他对象。

本回答被提问者采纳
第2个回答  2011-09-02
赋值用 就可以了
document.getElementsByTagName("param")[2].value = "xxxxx";
第3个回答  推荐于2016-03-25
<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>
第4个回答  2011-09-02
var a="123";
document.getElementsByTagName("param")[2].value = a;
嗯,就可以了