获取li

时间:2017-08-08 06:47:41

标签: javascript jquery html

我写了下面的代码。但它不起作用。 我怎样才能在href中获得li,因为我的代码是正确的,但在我的函数中找不到a

这是我的代码:

$(document).ready(function() {
  $(".PageNumber a").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);
  });
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<li><a class="PageNumber" data-page="" data-href="home.htm">1</a></li>
<input type="hidden" value="1" class="page" />
<li><a class="PageNumber" data-page="" data-href="home.htm">1</a></li>
<input type="hidden" value="2" class="page" />
<li><a class="PageNumber" data-page="" data-href="home.htm">1</a></li>
<input type="hidden" value="3" class="page" />

4 个答案:

答案 0 :(得分:1)

您的选择器spark.sql(select Time, avg(speed),count(avg) from dataset group by Time) 正在寻找.PageNumber a元素的子<a>标记。你没有任何这样的元素。

请改用.PageNumber。这会查找带有a.PageNumber类的<a>标记,您

答案 1 :(得分:1)

您在类a的元素中没有PageNumber

$(".PageNumber")甚至$("a.PageNumber")如果您想再指定一下

您还在寻找input旁边的$(".PageNumber")。但它位于li旁边,因此请使用var pagenum = $(this).parent().next('.page').val();

您还在使用$(this).attr(pagenum);,但不确定您要设置的内容或获取属性的值。

&#13;
&#13;
$(document).ready(function() {
  $(".PageNumber").each(function(index, element) {
    var pagenum = $(this).parent().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>
<li><a class="PageNumber" data-page="" data-href="home.htm">1</a></li>
<input type="hidden" value="1" class="page" />
<li><a class="PageNumber" data-page="" data-href="home.htm">1</a></li>
<input type="hidden" value="2" class="page" />
<li><a class="PageNumber" data-page="" data-href="home.htm">1</a></li>
<input type="hidden" value="3" class="page" />
&#13;
&#13;
&#13;

答案 2 :(得分:0)

你应该试试这个:

说明:

  • 评论.PageNumber a会在a类的元素中查找PageNumber标记。使用a.PageNumber表示具有a类的任何PageNumber标记。 li a.PageNumber表示在li标记内查找此类元素。
  • 当您使用data-属性时,应使用.data api,因为它适用于此类用途。
  • var pagenum = $(this).next('.page').val();不起作用,因为a是唯一的元素。如果要修复结构,您可以使用.parent,如果可以更改结构,则可以使用.closest('li')。然后转到下一个元素。

&#13;
&#13;
$(document).ready(function() {
  $("li a.PageNumber").each(function(index, element) {
   console.log($(this).data('href'))
   
    var pagenum = $(this).closest('li').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>
<li><a class="PageNumber" data-page="" data-href="home.htm">1</a></li>
<input type="hidden" value="1" class="page" />
<li><a class="PageNumber" data-page="" data-href="home.htm">1</a></li>
<input type="hidden" value="2" class="page" />
<li><a class="PageNumber" data-page="" data-href="home.htm">1</a></li>
<input type="hidden" value="3" class="page" />
&#13;
&#13;
&#13;

除此之外,我不确定你在这一行中做了什么:$(this).attr(pagenum);pagenum将保留12等值。您的元素中没有任何此类属性。您甚至没有将它分配给变量。所以你既没有设定也没有获得某些属性的价值。

答案 3 :(得分:0)

如果上面的li只有一个锚,那么可能只是使用 $('li a')作为选择器或在上面的例子$('a.PageNumber')中,还有一个建议是避免使用类名称的驼峰式关键字。尝试使用连字符分隔的类名。