单引号连接的jQuery选择器

时间:2014-01-14 09:13:52

标签: jquery jquery-selectors

我使用jquery min 1.3.2。你能帮我修复jQuery选择器吗?它不适用于单引号用户名。如果用户="彼得",一切正常。

var user = "Pet'e";
var id = "1";

var value = $("a[name=" + user + "][id=" + id + "]").attr("todo");

5 个答案:

答案 0 :(得分:2)

尝试将值包装在""

var value = $('a[name="' + user + '"][id="' + id + '"]').attr("todo");

演示:Fiddle

但是因为你有一个id使用id选择器

$('#' + id)

演示:Fiddle

答案 1 :(得分:1)

你必须逃避'角色:

var user = "Pet'e";
var id = "1";
var userEscaped = user.replace("'", "\\'");

var value = $("a[name=" + user + "][id=" + id + "]").attr("todo");

答案 2 :(得分:1)

尝试逃避

var user = "Pet\'e";

答案 3 :(得分:1)

确保您拥有unique id并尝试使用

var value = $('a#' + id).attr('todo');

答案 4 :(得分:1)

由于您已为元素分配了id,因此您只需使用:

$('#' + id)

除此之外,您似乎正在使用data的{​​{1}}属性,因此请更改:

todo

为:

$('#' + id).attr("todo")

或:

$('#' + id).data("todo")