浏览 5164 次
锁定老帖子 主题:关于prototype中$F方法的小问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-04
<html> <head> <script src='prototype.js'></script> <script language="javascript" type="text/javascript"> function test(){ alert($F('set1')) } </script> <title></title> </head> <body> <select id='set1'> <option>choose</option> <option value='1'>a</option> </select> <input type='button' onclick='test()'/> </body> </html> 本以为会打出空,结果是choose, 后来在看源码时发现,$F在返回select元素的指时使用如下方法 optionValue: function(opt) { // extend element because hasAttribute may not be native return Element.extend(opt).hasAttribute('value') ? opt.value : opt.text; } 因为我没有value属性,所以返回的是opt.text; 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-10-15
怯怯的问一下$f这个方法在firefox中为何总提示
element has no properties? 苦恼了很久~ prototype: version 1.5.0_rc0 Firefox: 2.0.0.7 |
|
返回顶楼 | |
发表时间:2007-10-15
ls要是$F有问题,那就$("...").value如果还有问题,rpwt
|
|
返回顶楼 | |
发表时间:2007-10-15
Prototype这样写是为了保证浏览器兼容性,在option标签中如果不显示写value属性的话,firefox默认是会赋值为文本节点的值的(这也是标准所规定的),但是ie不会。
|
|
返回顶楼 | |
发表时间:2008-08-30
cowskin 写道 怯怯的问一下$f这个方法在firefox中为何总提示
element has no properties? 苦恼了很久~ prototype: version 1.5.0_rc0 Firefox: 2.0.0.7 很简单 js区分大小写 $F("") 而不是$F("ddd") |
|
返回顶楼 | |