Jquery 在上设置属性,而不是

Jquery 在上设置属性,而不是,jquery,attr,Jquery,Attr,我有 lnk=$ 我试过了 lnk=$+appendopts.text+ .attr'href',this.opts.link\u to.replace/\uuuuu id\uuuu/,page\u id; 我得到了错误的输出。我该怎么办?如何将attr添加到a元素而不是li元素?attr和其他方法将始终应用于选择器中最外层的元素 您需要分别处理它们: var a = $("<a>" + appendopts.text + "</a>"). attr('href',

我有

lnk=$ 我试过了

lnk=$+appendopts.text+ .attr'href',this.opts.link\u to.replace/\uuuuu id\uuuu/,page\u id; 我得到了错误的输出。我该怎么办?如何将attr添加到a元素而不是li元素?

attr和其他方法将始终应用于选择器中最外层的元素

您需要分别处理它们:

var a = $("<a>" + appendopts.text + "</a>").
  attr('href', this.opts.link_to.replace(/__id__/,page_id));

lnk = $('<li>').
  append(a);

尝试以下操作:首先创建锚定标记,然后将其附加到li

其他两个答案都不错,只是觉得值得发布一个替代方案


基本上,只是一个大的串联字符串。

此解决方案适用于OP和仍然-1投票。我不明白人们怎么能在不验证提供的解决方案的情况下否决投票。
var lnk = $("<a>" + appendopts.text + "</a>")
                .attr('href', this.opts.link_to.replace(/__id__/,page_id));

var li = $('<li></li>').append(lnk);
var listItem = $("<li><a href='" + this.opts.link_to.replace(/__id__/,page_id) + "'>" + appendopts.text + "</a></li>");