我有很多href标签,我也输入隐藏类型。 我编写了一个代码来获取每个href的最近输入的值,然后将该输入的值而不是data-page和a标签的文本。 我写了下面的代码,但它不起作用。
double
$(document).ready(function(){
$(".PageNumber").each(function(index, element) {
var pagenum = $(this).closest('.page').val();
var linkk = $(this).attr("data-page");
var linktext = $(this).text();
$(this).attr(pagenum);
$(this).text(pagenum);
});
})
答案 0 :(得分:1)
这是你想以最清晰的方式做的事情^^
$(document).ready(function(){
$(".PageNumber").each(function(index, element) {
var pagenum = $(this).next('.page').val();
$(this).attr("data-page", pagenum);
$(this).text(pagenum);
});
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<a class="PageNumber" data-page="" data-href="home.htm">1</a>
<input type="hidden" value="1" class="page"/>
<a class="PageNumber" data-page="" data-href="home2.htm">1</a>
<input type="hidden" value="2" class="page"/>
<a class="PageNumber" data-page="" data-href="home3.htm">1</a>
<input type="hidden" value="3" class="page"/>
&#13;
答案 1 :(得分:0)
jQuery.closest()
不是你想要的。此函数将从当前元素开始查找与选择器匹配的最接近的父元素。 https://api.jquery.com/closest/
您最好使用jQuery.next()
函数来获取下一个输入。 https://api.jquery.com/next/
$(document).ready(function() {
$(".PageNumber").each(function(index, element) {
var pagenum = $(this).next('.page').val();
var linkk = $(this).attr("data-page");
var linktext = $(this).text();
$(this).attr(pagenum);
$(this).text(pagenum);
});
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<a class="PageNumber" data-page="" data-href="home.htm">1</a>
<input type="hidden" value="1" class="page" />
<a class="PageNumber" data-page="" data-href="home2.htm">1</a>
<input type="hidden" value="2" class="page" />
<a class="PageNumber" data-page="" data-href="home3.htm">1</a>
<input type="hidden" value="3" class="page" />
&#13;
答案 2 :(得分:0)
jQuery closest
函数不能满足您的需要。
这是它的描述。
描述:对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先来获取与选择器匹配的第一个元素。
您可以使用next
来获取输入,这是一个示例:
$(document).ready(function(){
$(".PageNumber").each(function(index, element) {
var pagenum = $(this).next('.page').val();
$(this).data("page", pagenum)
$(this).text(pagenum);
});
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<a class="PageNumber" data-page="" data-href="home.htm">1</a>
<input type="hidden" value="1" class="page"/>
<a class="PageNumber" data-page="" data-href="home2.htm">1</a>
<input type="hidden" value="2" class="page"/>
<a class="PageNumber" data-page="" data-href="home3.htm">1</a>
<input type="hidden" value="3" class="page"/>