我目前正在尝试创建分页功能。我正在使用bootstrap for css和jQuery。
总共有8个包含标签的div。
在我的html文件中,我写了
<div id="articleArea" class="row">
<div class="col-md-4 postTitle">
<a href="#">post title</a>
</div>
<div class="col-md-4 postTitle">
<a href="#">post title</a>
</div>
<div class="col-md-4 postTitle">
<a href="#">post title</a>
</div>
<div class="col-md-4 postTitle">
<a href="#">post title</a>
</div>
<div class="col-md-4 postTitle">
<a href="#">post title</a>
</div>
<div class="col-md-4 postTitle">
<a href="#">post title</a>
</div>
<div class="col-md-4 postTitle">
<a href="#">post title</a>
</div>
<div class="col-md-4 postTitle">
<a href="#">post title</a>
</div>
</div>
我想要做的是根据我的ajax调用的响应替换标签中的每个href。我将发布.ajax的成功部分,因为其他部分完全正常,与我的问题无关。我的ajax调用以json格式返回,var结果是一个数组,其中包含需要分配给postTitle div中每个标记的8个不同的href。
success: function(data){
var result = data["result"];
for(i=0; i < result.length; i++{
postTitle = result[i];
$(".postTitle.a").html(postTitle);
}
},
如果我执行此代码,会暂时显示一个href,但它会在一秒钟内消失。我怎样才能解决这个问题?如果有更好的方法来实现此功能,请做评论!很想听到任何反馈。
答案 0 :(得分:1)
您需要对标记运行迭代,而不是在结果上运行迭代
$(".postTitle a").each(function(i) {
postTitle = result[i];
$(this).attr("href",postTitle);
});
这将遍历每个href标记并相应地替换值
编辑:它应该是.postTitle a
答案 1 :(得分:1)
您的选择器会选择所有元素
$(".postTitle.a")
您应该选择每个标记并设置其href,此外它还缺少一个空格:
$(".postTitle a").each(function(index, value){
$(value).attr('href', result[index]);
});
答案 2 :(得分:-1)
$(document).ready(function() {
$('#pdf').change(function() {
var newurl = $('#pdf').val();
$('a.target').attr('href', newurl);
});
});