如何通过其值找到html元素

时间:2012-07-01 06:45:47

标签: javascript jquery html

我希望按其值找到一个html元素。我试着用id,但我的情况很脆弱:

伪代码:

for user in users:
 <li id="followed" onclick="follow($(this).text())"><a class="follow">user.name</a></li>
endfor

我希望每个用户名都是可点击的,我将他保存到数据库中并将“已保存”添加到用户名的末尾部分。像这样:

"username" ==> after click: "username saved"

我是通过ajax做到的。

function follow(data){
    var Him = data;
    alert(Him);
    $.ajax({
        url: "/follow",
        type: "POST",
        datatype: "html",
        data: {Him: Him}
    }).success(function(response){
        $('#followed').append(response);
    });
}

此代码很好,但它只将“已保存”响应附加到第一个用户名,因为在循环结束时,所有用户名都有id='followed'

这就是为什么,我想通过它的值找到html元素。例如“用户名”。
可能吗?

1 个答案:

答案 0 :(得分:4)

您可以使用context参数更改传递给AJAX请求成功回调的上下文。

但首先让我们开始清理你的标记并使用类名而不是id,如果这是一个循环,因为你知道ids在HTML中必须是唯一的:

for user in users:
    <li class="followed"><a class="follow">user.name</a></li>
endfor

好了,现在我们已经清理了标记,让我们不加引用地订阅这个.click()的{​​{1}}事件:

<li>