javascript中如何动态获取标签的id

由于我的标签是用iterator标签动态创建出来的,所以,我就取了list中一个对象的id属性加一个标志字符串如:id="<s:propertyvalue="id"/>n... 由于我的标签是用iterator标签动态创建出来的,所以,我就取了list中一个对象的id属性加一个标志字符串
如:id="<s:property value="id"/>name" 这样作为标签的id ,这样<td>标签的id就是个变量了.
<s:iterator value="researchSubjects">
<tr>
<td id="<s:property value="id"/>name" ondblclick="ShowElement(this)"><s:property value="name"/></td>
<td id="<s:property value="id"/>head" ondblclick="ShowElement(this)"><s:property value="head"/></td>
<td><input type="button" href="#" onclick="sub(<s:property value="id"/>name);" value="修改"/></td>
</tr>
</s:iterator>

如果在javascript里根据元素id取元素,那么这个要怎么获取上面动态给元素分配的id呢?
如下是我在javascript里面手动根据id写了取出iterator第一次遍历出的标签

function sub(){

var value1= encodeURIComponent(document.getElementById("1name").innerHTML);
var value2= encodeURIComponent(document.getElementById(1"head").innerHTML);
var url = "test?name="+value1+"&title="+value2;
document.location.href =url;
}

但是由于遍历次数很多,那么每次都这样
getElementById("1name")
getElementById("2name")
getElementById("3name")
getElementById("4name")
.....
这样就很麻烦,整个动态也被这一步破坏了。那么,我想问的是,我在调用function sub()的时候如何能动态的获取iterator出来的元素的id呢?
展开
 我来答
MarkGo
2013-09-01 · 测试API接口使用的啊1
MarkGo
采纳数:257 获赞数:427

向TA提问 私信TA
展开全部
最笨的方法是把出来的ID都用个变量装载,然後FOR去循环它
最懒的方法是用div套著它,然後for x in 循环他,如果属性是TD就获取它的innerHTML,否则跳过.
追问
如果这样,那不是一次就把所有的值都循环出来了,我的思路是点了“修改”以后执行function sub()让后跳转至action进行一些存储过程的逻辑调用。所以我只是想在点“修改”的时候能获取相应记录的那几个中的innerHTML作为参数传给action.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友aa5737fa
2013-09-01
知道答主
回答量:66
采纳率:0%
帮助的人:25.3万
展开全部
for(int i=1;i<=n,i++){
document.getElementById(i+"name");
}
更多追问追答
追问
这么做的话,那我数据库的记录如果删除过,id变的不是连续的,那不是会出错。我最初的想法是把取出的id同时将其作为function sub()的参数传过去,然后直接在function sub()直接拿来用就行了,但是试了几次,发现javascrip不熟,不会弄.
追答
无论你用的是Mysql还是Oracle,永远都不要根据连续的ID去操作数据库,因为ID在各种添加删除操作后,会不断地变化,怎么能够连续。数据库Sql语句有专门操作最新N条数据的方法,自己去学习一下,要从Sql语句入手
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式