我正在构建一个wordpress主题。在帖子的底部,我插入了一个自定义导航栏,我在其中显示标签和分页链接。 (所有wordpress元素都运行良好:wordpress不是带给我的问题)
我想在点击页码链接时使用javascript方法.load()刷新帖子内容(基本上我想浏览帖子的页面,而不是每次都重新加载所有内容)
要做到这一点,我需要检索我想要加载的链接的href属性。在阅读官方API并在几个论坛上搜索后,我试图通过此代码实现这一目标......但它不起作用,我无法理解。
HTML
<nav id="tag-and-navigation">
<div class="page-numbers tags-and-navigation-elem">
<a href="my_first_page">1</a>
<a href="my_second_page">2</a>
</div>
</nav>
jQuery(调试模式版本:我只是尝试在控制台中显示href)
$(document).ready(function(){
$('.page-numbers.tags-and-navigation-elem').click(function(){
console.log($(this).attr('href'));
});
});
此代码显示&#34; undefined&#34;在控制台上,当我参加&#34; my_first_page&#34;。任何线索?感谢
答案 0 :(得分:4)
这是因为您使用$('.page-numbers.tags-and-navigation-elem')
选择了一个div,它没有href
属性。
你可能想说
console.log($(this).find('a').attr('href'));
OR
如果您想点击anchors
并让hrefs
使用此
$(document).ready(function(){
$('.page-numbers.tags-and-navigation-elem a').click(function(){
console.log($(this).attr('href'));
});
});
答案 1 :(得分:2)
你的jquery选择器选择div元素而不是a标签。因此$(this)将成为div元素。
而是将选择器更改为:
$('.page-numbers.tags-and-navigation-elem a')
然后它会起作用:)
答案 2 :(得分:0)
显然,您引用的元素不是anchor
标记。
您的代码:
$(document).ready(function(){
$('.page-numbers.tags-and-navigation-elem').click(function(){
console.log($(this).attr('href'));
});
});
你可以说:
$(document).ready(function(){
$('.page-numbers.tags-and-navigation-elem a').click(function(){
console.log($(this).attr('href'));
});
});