在<a>, not </a>上设置属性<li> <a>

时间:2015-07-21 13:07:59

标签: jquery attr

I have

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

I need

<li><a href=""></a></li>

I tried

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

I get the wrong output. What do I have to do? How do I add the attr to the a element and not to the li element?

3 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

另外两个答案很好,只是觉得值得张贴替代品。

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

答案 2 :(得分:-1)

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

您需要单独处理它们:

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

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