Javascript 引用href值并与其他值进行比较

Javascript 引用href值并与其他值进行比较,javascript,jquery,html,href,Javascript,Jquery,Html,Href,我有这个: var userName = "$('.home').children('.username').attr('href')"; $(".someclass[href*=userName]").parent().parent().addClass("extra-attribute"); 我想根据类是否包含引用的href中的匹配项向类添加“额外属性”。此设置正确吗?关闭,您需要字符串连接: $(".someclass[href*=" + userName + "]") 对于第一行和第

我有这个:

var userName = "$('.home').children('.username').attr('href')";
$(".someclass[href*=userName]").parent().parent().addClass("extra-attribute");

我想根据类是否包含引用的href中的匹配项向类添加“额外属性”。此设置正确吗?

关闭,您需要字符串连接:

$(".someclass[href*=" + userName + "]")

对于第一行和第二行,表达式是作为字符串包装的(删除它),您将
userName
包装为选择器的一部分,而不是userName变量的值

因此,请尝试:

var userName = $('.home').children('.username').attr('href');
$(".someclass[href*=" + userName + "]").parent().parent().addClass("extra-attribute");

还请注意,
.attr('href')
将仅获取集合
$('.home').children('.userName')
返回的第一个
用户名
锚定标记的href。您可以使用
最近的('parentparentselector')
来代替执行
.parent().parent()
,前提是您的parent.parent具有该选择器而不是其父级。这将使你在不改变脚本的情况下也能改变HTML结构。

你应该在继续之前考虑下面的样本:d

var v = "1 + 1"; alert(v); // shows "1 + 1"
var v = 1 + 1;   alert(v); // shows "2"

几乎,它需要引号。它们没有被添加到最后一个函数中。它最终必须是这样的:var userName=$('.home').children('.userName').attr('href');var hrefName=“””+用户名+“”$(“.someclass[href=“+hrefName+”]).parent().parent().addClass(“额外属性”)@user3015600是的,如果您保留了字符,则只需执行
$('.someclass[href*=“'+userName+']”)即可。