关于的疑惑

dtdxkang 2010-07-21 11:18:46
在form中有两个<input type=image/>标签,没有id和属性。在js中怎样才能取到这两个标签,getElementsByTagName方法除外。
另外<input type=image/>这个标签不是归属form吗?form.elements中居然没有?
...全文
552 26 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainsilence 2010-07-23
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 dtdxkang 的回复:]

引用 12 楼 lemon520 的回复:
在外面加一个span,通过childNodes的方式访问,其实就是脱了裤子放屁的做法!!!!
除非你本身就是需要一个<input type="image">的数组,那可以用getElementsByTagName,否则还是提供id的好,干嘛非要钻牛角尖呢!

页面已经写死了,不能改动,不支持getElementsByTagName,因为用的是I……
[/Quote]

IE6开始就肯定支持了。但是getElementsByName就不一定
ks37402140 2010-07-22
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 net_lover 的回复:]
引用 10 楼 ks37402140 的回复:

HTML code

<span id="a">
<input type="button"/>
</span>

alert(document.getElementById("a").childNodes.length);



这样的话为什么会是2呢


空格也是字符,也是childNode
[/Quote]

原来是这样呀,学习了
licip 2010-07-22
  • 打赏
  • 举报
回复
其实楼主的意思不是不能取到这个对象.而是用form.elements为什么没有这个元素.form表单的元素好像是没有image这个的.
孟子E章 2010-07-22
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ks37402140 的回复:]

HTML code

<span id="a">
<input type="button"/>
</span>

alert(document.getElementById("a").childNodes.length);



这样的话为什么会是2呢
[/Quote]

空格也是字符,也是childNode
happy664618843 2010-07-22
  • 打赏
  • 举报
回复
用jquery input[type='image']
dtdxkang 2010-07-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 lemon520 的回复:]
在外面加一个span,通过childNodes的方式访问,其实就是脱了裤子放屁的做法!!!!
除非你本身就是需要一个<input type="image">的数组,那可以用getElementsByTagName,否则还是提供id的好,干嘛非要钻牛角尖呢!
[/Quote]
页面已经写死了,不能改动,不支持getElementsByTagName,因为用的是IE
dtdxkang 2010-07-22
  • 打赏
  • 举报
回复
现在的问题是form中有一个<imput type=image>标签,没有写id和name,页面已经写死了不能改动,现在要在js中取到这个标签,不支持getElementByTagName。
myhope88 2010-07-22
  • 打赏
  • 举报
回复
可以用jquery,或者遍历form中的子节点,也可以给这个input再加个父节点,通过父节点来引用
lemon520 2010-07-22
  • 打赏
  • 举报
回复
在外面加一个span,通过childNodes的方式访问,其实就是脱了裤子放屁的做法!!!!
除非你本身就是需要一个<input type="image">的数组,那可以用getElementsByTagName,否则还是提供id的好,干嘛非要钻牛角尖呢!
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ks37402140 的回复:]
<span id="a">
<input type="button"/>
</span>
alert(document.getElementById("a").childNodes.length);

这样的话为什么会是2呢
[/Quote]
你写成一行就对了:
<span id="aa"><input type="image" /></span>
softwarexiang120 2010-07-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ibm_hoojo 的回复:]
ls的都可以,用jquery更简单;
$("input[type='image']")
[/Quote]

正在学习jQuery中,的确很方便。
kaifadi 2010-07-22
  • 打赏
  • 举报
回复
IE6应该也支持getElementsByTagName这个吧??
csiamgo1 2010-07-22
  • 打赏
  • 举报
回复
$(":image") 
qysnowqy 2010-07-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ibm_hoojo 的回复:]

ls的都可以,用jquery更简单;
$("input[type='image']")
[/Quote]
正解,jQuery的定位很强大的=。=
cuixiping 2010-07-22
  • 打赏
  • 举报
回复
<input type='button' style="background-image:url(a.gif)">代替吧,样式里还要多设几个参数,宽、高、边框、背景等。。
cuixiping 2010-07-22
  • 打赏
  • 举报
回复
我一直不知道,原来这个<input type='image'>不在elements集合里面啊,学到了。
hoojo 2010-07-21
  • 打赏
  • 举报
回复
ls的都可以,用jquery更简单;
$("input[type='image']")
zoujp_xyz 2010-07-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 dtdxkang 的回复:]
在form中有两个<input type=image/>标签,没有id和属性。在js中怎样才能取到这两个标签,getElementsByTagName方法除外。
另外<input type=image/>这个标签不是归属form吗?form.elements中居然没有?
[/Quote]

1楼的方法比较好。
2楼的方法需要遍历子节点,效率不是很好。
马老虎 2010-07-21
  • 打赏
  • 举报
回复
form.elements
确实没有!
马老虎 2010-07-21
  • 打赏
  • 举报
回复


window.onload = function () {

var ss = document.getElementById("form1").childNodes;
for (var i = 0; i < ss.length; i++) {
if (ss[i].tagName == "INPUT" && ss[i].type == "image") {

alert("OK!找到了!");

}
}


}




<form id="form1">
<input type="image" />
</form>

加载更多回复(6)
什么是SWFUpload?   SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而超越传统标签的文件上传模式。 [编辑本段]SWFUpload的主要特点   * 可以同时上传多个文件;   * 类似AJAX的无刷新上传;   * 可以显示上传进度;   * 良好的浏览器兼容性;   * 兼容其他JavaScript库 (例如:jQuery, Prototype等);   * 支持Flash 8和Flash 9;   SWFUpload不同于其他基于Flash构建的上传工具,它有着优雅的代码设计,开发者可以利用XHTML、CSS和JavaScript来随心所欲的定制它在浏览器下的外观;它还提供了一组简明的JavaScript事件,借助它们开发者可以方便的在文件上传过程中更新页面内容来营造各种动态效果。   在使用SWFUpload之前,请确认你具备一定的JavaScript和DOM知识。在实际开发中,大部分的错误都是由于错误的设置和低劣的Event Handlers处理程序所造成的。 [编辑本段]文档中文翻译   http://www.v-sky.com/doc/swfupload/v2.1.0/Documentation.html [编辑本段]效果演示   * Classic Form Demo http://demo.swfupload.org/formsdemo ;   * Features Demo http://demo.swfupload.org/featuresdemo ;   * Application Demo http://demo.swfupload.org/applicationdemo ;   * v1.0.2 Plugin Demo http://demo.swfupload.org/v102demo ; [编辑本段]选择合适的Flash控件   在发行包(SWFUpload v2)中含有2个版本的Flash控件(swfupload_f8.swf 与wfupload_f9.swf),其中第一个版本拥有最佳的兼容性,但是为此损失了部分功能;而第二个版本提供了一些附加的功能但是损失了兼容性。 [编辑本段]SWFUpload的初始化与配置   首先,在页面中引用SWFUpload.js ,如      然后,初始化SWFUpload ,如   var swfu;   window.onload = function () {   swfu = new SWFUpload({   upload_url : "http://www.swfupload.org/upload.php",   flash_url : "http://www.swfupload.org/swfupload_f9.swf", file_size_limit : "20480"   });   };   以下是一个标准的SWFUpload初始化设置所需的参数,你可以根据需要自己进行删减:   {   upload_url : "http://www.swfupload.org/upload.php", 处理上传请求的服务器端脚本URL   file_post_name : "Filedata", 是POST过去的$_FILES的数组名   post_params : {   "post_param_name_1" : "post_param_value_1",   "post_param_name_2" : "post_param_value_2",   "post_param_name_n" : "post_param_value_n"   },   file_types : "*.jpg;*.gif", 允许上传的文件类型   file_types_description: "Web Image Files", 文件类型描述   file_size_limit : "1024", 上传文件体积上限,单位MB   file_upload_limit : 10, 限定用户一次性最多上传多少个文件,在上传过程中,该数字会累加,如果设置为“0”,则表示没有限制   file_queue_limit : 2, 上传队列数量限制,该项通常不需设置,会根据file_upload_limit自动赋值   fl

通过js操纵DOM很多情况下都是为了实现和当前页html元素的异步载入,我谈谈对Image对象的一些认识。
看个例子:
<input type="button" name="" value="载入图片" onclick="addImg('tt.jpg')" />
<script type="text/javascript">

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧