`
影非弦
  • 浏览: 50852 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jQuery动态选择器

阅读更多

在使用struts2的时候,经常在页面中使用<s:iterator value="list"></s:iterator>

这时候如果需要用jQuery对这标签之间的其他标签进行操作的话,就会出现因为因为动态的id而找不到目标标签的现象,通常的做法是$("#"+id),但是这样的做法大多数情况下不可行,试了几次,都不行,最终还是改用js自身的方法来操作,具体的方法是:

 

<s:iterator value="peList">
   <tr class="s1" title="点击修改信息" style="height: 20px;" align="center" onmouseover="changeColor(this);" onmouseout="backColor(this);">
	 <td width="12%"><input type="checkbox" name=personIDs" value="${personID }"/></td>
	 <td width="30%" id="${personID }" onclick="toUpdate(this.id);">
	        <s:property value="userName"/>
	 </td>
	 <td width="30%" id="${personID }">
	       <s:property value="personName"/>
	 </td>
	 <td width="28%">
	       <input type="button" id="${personID }" style="color: red;background-color: yellow;" onclick="toPowerSet(this,this.id);" value="${powerSet }"/>
	 </td></tr>
</s:iterator>
 

 

 如果要修改第四个<td>的内容,做法如下:将自身对象和id传给js方法进行操作,这比jQuery选择器来的可靠.

function toPowerSet(a,id){
	      	powerdao.dwrPowerSet(id,function(result){
	      		if(result != "empyt"){
	      			if(result == "admin"){
	      				a.value = "管理员";
	      			}
	      			if(result == "person"){
	      				a.value = "操作员";
	      			}
	      		}
	      });
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics