Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我使用javascript从锚标记单击时,如何获取动态创建的标签的文本_Javascript_Jquery_Html_Jsp - Fatal编程技术网

当我使用javascript从锚标记单击时,如何获取动态创建的标签的文本

当我使用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

在我的JSP页面中,我想动态创建一个标签,它位于achor标记内。当我点击另一个锚标记时,我希望使用javascript或jquery获得相应的标签文本

这是我的JSP页面代码

<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;