从输入和替换中获取价值

时间:2017-08-07 08:38:23

标签: javascript jquery html

我有很多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);
  });
})

3 个答案:

答案 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;
&#13;
&#13;

答案 1 :(得分:0)

jQuery.closest()不是你想要的。此函数将从当前元素开始查找与选择器匹配的最接近的父元素。 https://api.jquery.com/closest/

您最好使用jQuery.next()函数来获取下一个输入。 https://api.jquery.com/next/

&#13;
&#13;
$(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;
&#13;
&#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"/>