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" />
答案 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);
,但不确定您要设置的内容或获取属性的值。
$(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;
答案 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')
。然后转到下一个元素。
$(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;
除此之外,我不确定你在这一行中做了什么:$(this).attr(pagenum);
。 pagenum
将保留1
,2
等值。您的元素中没有任何此类属性。您甚至没有将它分配给变量。所以你既没有设定也没有获得某些属性的价值。
答案 3 :(得分:0)
如果上面的li只有一个锚,那么可能只是使用 $('li a')作为选择器或在上面的例子$('a.PageNumber')中,还有一个建议是避免使用类名称的驼峰式关键字。尝试使用连字符分隔的类名。