如何使用id动态添加元素文本?

时间:2017-04-17 07:05:09

标签: jquery

我正在动态添加<a></a>元素。

<div id="divbindProjectlist" class="col-sm-3">
    <a class="list-group-item active left-menu-head">Projects List</a>
    <a href="#" class="list-group-item projectList"><span class="project-name">Project 1</span><input type="hidden" class="hidprojectId" value="0.34084661019770524"></a>
    <a href="#" class="list-group-item projectList"><span class="project-name">Project 2</span><input type="hidden" class="hidprojectId" value="0.6971764238216627"></a>
    <a href="#" class="list-group-item projectList"><span class="project-name">Project 3</span><input type="hidden" class="hidprojectId" value="0.29109692149538624"></a>
</div>

使用下面的jQuery,

if (json.idPartnerProject == "0") {
    $("#divbindProjectlist").append('<a href="#" class="list-group-item projectList" >' 
      + json.ProjectName + '<input type="hidden" class="hidprojectId" value="' 
      + json.idPartnerProject + '" /></a>');
}

我尝试更新与idPartnerProject id。

相关的现有项目名称后
if (obj.idPartnerProject == pro.idPartnerProject) {
 //pro.ProjectName
}

在这里,如何在尊重<a></a>元素内更新项目名称?

2 个答案:

答案 0 :(得分:1)

如果您可以在一个范围中包装项目名称,例如

$("#divbindProjectlist").append('<a href="#" class="list-group-item projectList" ><span class="project-name">' + json.ProjectName + '</span><input type="hidden" class="hidprojectId" value="' + json.idPartnerProject + '" /></a>');

假设只有一个锚标记,你可以做

if (obj.idPartnerProject == pro.idPartnerProject) {
  //pro.ProjectName
  $("#divbindProjectlist a:has(input[value='"+json.idPartnerProject +"']) .project-name").html(pro.ProjectName);      
}

如果您有多个a代码,则必须保留唯一ID,或更改选择器以选择正确的ID。

答案 1 :(得分:0)

下面的功能会改变链接文字

function changeAnchorText(t, i) {
    var n = $.map($("#divbindProjectlist a.projectList input[type='hidden']"), function(i) {
        return $(i).val() === t ? $(i).closest("a") : void 0
    })[0];
    if (n) {
        var d = $(n).find('input[type="hidden"].hidprojectId');
        $(n).text(i).append(d)
    }
}

第一个参数将隐藏字段值,第二个参数将是文本之类 changeAnchorText(&#34; 0.19537117542457416&#34;&#34; SomeName&#34)