一次在多个跨度中添加不同的文本?

时间:2015-05-29 12:14:11

标签: javascript jquery ajax

我有以下代码。我想在所有跨度中添加不同的数据,如单个函数所示。

<div id="teacher_data">
    <p>Name : <span></span></p>
    <p>Arreess : <span></span></p>
    <p>Designation : <span></span></p>
    <p>Joining Date : <span></span></p>
    <p>Gender : <span></span></p>
    <p>Mobile No : <span></span></p>
    <p>Home No : <span></span></p>
    <p>Marital Status : <span></span></p>
</div>
$(document).ready(function(){
     var a = window.location.href + ".json";
     $.get(a, function(data, status){
        $("#teacher_data span").append(data.name);
     });
});

3 个答案:

答案 0 :(得分:1)

快捷方便:

ipa

});

希望它有效, 丹

答案 1 :(得分:1)

如果你的html会相同,那么就这样做。

$(document).ready(function(){
 var a = window.location.href + ".json";
 $.get(a, function(data, status){
    $(("span")[0]).text(data.name);
    $(("span")[1]).text(data.address);
    /// so on with next fields
 });
});

答案 2 :(得分:1)

你必须使用一些绑定参数来做到这一点,因为你的&#34;数据&#34;是OBJECT和SPAN选择器是ARRAY - 你不知道json对象中的顺序(它按字母顺序排序)

您可以使用$("#teacher_data span")[0]访问0,1,2,3 ...的跨度,以静态顺序或此方式手动执行此操作,使其灵活,与顺序无关且可重复使用

HTML

<p>Name : <span data-key="name"></span></p>

JS

$("#teacher_data span[data-key]").each(function(index) {
  $(this).text(data[$(this).data('key')]);
});