当我使用javascript从锚标记单击时,如何获取动态创建的标签的文本
在我的JSP页面中,我想动态创建一个标签,它位于achor标记内。当我点击另一个锚标记时,我希望使用javascript或jquery获得相应的标签文本 这是我的JSP页面代码当我使用javascript从锚标记单击时,如何获取动态创建的标签的文本,javascript,jquery,html,jsp,Javascript,Jquery,Html,Jsp,在我的JSP页面中,我想动态创建一个标签,它位于achor标记内。当我点击另一个锚标记时,我希望使用javascript或jquery获得相应的标签文本 这是我的JSP页面代码 <body> <% for (int i = 0; i < sam.groupName.length; i++) { out.print("<a href='#'>"); out.print("<img s
<body>
<%
for (int i = 0; i < sam.groupName.length; i++) {
out.print("<a href='#'>");
out.print("<img src='twoMen.jpg'/>");
out.print("<label for='groupsId' id='labelId"+i+"'>"+ sam.groupName[i] + "</label>");
out.print("</a>");
out.print("<a href='javascript:void(0);' onclick='validation(this,"+i+");'>Edit</a>");
}
%>
</body>
快速回答:
function validation(anchor,i) {
var value = $("#labelId"+i).text();
alert("Label value= "+ value);
}
只需使用标签的ID,然后从中获取文本
.text()
将返回标记中的文本。如果该文本包含在另一个嵌套标记中,则不会。如果是这种情况,请使用.html()
或指定jQuery选择器
更新
我还想到了另一个解决方案,我认为这个更简单:
<body>
<%
for (int i = 0; i < sam.groupName.length; i++) {
out.print("<a href='#'>");
out.print("<img src='twoMen.jpg'/>");
out.print("<label for='groupsId' id='labelId"+i+"'>"+ sam.groupName[i] + "</label>");
out.print("</a>");
out.print("<a href='javascript:void(0);' onclick='validation(this,'"+sam.groupName[i]+"');'>Edit</a>");
}
%>
</body>
这与此相同,但它传递您需要的值,而不是指向您需要的值的索引。除非您以后需要其他任何东西的i索引,否则这是有效的。给anchor的类,比如class1,并使用jquery的live方法作为
$(".class1").live("click",function(){
alert(this.html())
});
在这些情况下,最好的办法是查看最终代码的呈现方式。 但是,您可以从ID获取它:
var myLabelId = 'labelId'+i;
var myLabel = document.getElementById(myLabelId);
var myLabelValue = myLabel.innerText;
标签的ID不是“labelId”。还添加了索引(i)。看我的答案:)对OP的问题没有帮助。他试图在点击链接时从标签中检索文本。该链接已经指向
验证(achor,i)
函数。为什么要将标签元素放在锚元素中?标签在单击时已经有了行为(将焦点设置为关联的表单控件,在复选框或单选按钮实际选中/取消选中它的情况下),因此将标签放在具有自己的单击行为的元素中似乎有点奇怪。
$(".class1").live("click",function(){
alert(this.html())
});
var myLabelId = 'labelId'+i;
var myLabel = document.getElementById(myLabelId);
var myLabelValue = myLabel.innerText;