Javascript 将jquery选择器传递给插件中的子函数
我正在尝试制作一个快速jquery插件(作为学习练习),用于从项目列表(本例中为LIs)生成一个简单的寻呼机,但在将当前选择器(此)传递给子函数时遇到了问题。代码如下 问题是在创建动态导航(插件需要jquery1.3)时,我需要传递选择器,因为组成寻呼机的是执行实际显示/隐藏的子函数。我正在尝试下面的方法Javascript 将jquery选择器传递给插件中的子函数,javascript,jquery,function,jquery-plugins,Javascript,Jquery,Function,Jquery Plugins,我正在尝试制作一个快速jquery插件(作为学习练习),用于从项目列表(本例中为LIs)生成一个简单的寻呼机,但在将当前选择器(此)传递给子函数时遇到了问题。代码如下 问题是在创建动态导航(插件需要jquery1.3)时,我需要传递选择器,因为组成寻呼机的是执行实际显示/隐藏的子函数。我正在尝试下面的方法 var selector = $(this); 获取选择器,然后将其传递给脚本底部的子函数,如下所示 $(".pageNav a").live("click", function(selec
var selector = $(this);
获取选择器,然后将其传递给脚本底部的子函数,如下所示
$(".pageNav a").live("click", function(selector) {
$(selector).hide();
希望在子功能中使用选择器,如下所示
$(".pageNav a").live("click", function(selector) {
$(selector).hide();
但我什么也得不到。任何建议将不胜感激,没有必要完成插件为我
谢谢
(function($) {
$.fn.quickPager = function() {
//edit this
var pageSize = 10;
//leave this
var selector = $(this);
var totalRecords = $(this).length;
var currentPage = 1;
var pageCounter = 1;
$(this).each(function(i){
if(i < pageCounter*pageSize && i >= (pageCounter-1)*pageSize) {
$(this).addClass("page"+pageCounter);
}
else {
$(this).addClass("page"+(pageCounter+1));
pageCounter ++;
}
});
//show/hide the appropriate regions
$(this).hide();
$(".page"+currentPage).show();
//first check if there is more than one page. If so, build nav
if(pageCounter > 1) {
//Build pager navigation
var pageNav = "<ul class='pageNav'>";
for (i=1;i<=pageCounter;i++){
if (i==1) {
pageNav += "<li class=currentPage pageNav"+i+"'><a rel='"+i+"' href='#'>Page "+i+"</a></li>";
}
else {
pageNav += "<li class='pageNav"+i+"'><a rel='"+i+"' href='#'>Page "+i+"</a></li>";
}
}
pageNav += "</ul>";
$("#pagerContainer").append(pageNav);
//pager navigation behaviour
$(".pageNav a").live("click", function(selector) {
//grab the REL attribute
var clickedLink = $(this).attr("rel");
currentPage = clickedLink;
//remove current current (!) page
$("li.currentPage").removeClass("currentPage");
//Add current page highlighting
$(this).parent("li").addClass("currentPage");
//hide and show relevant links
//$("ul.paging li").text("TEST");
$(selector).hide();
$(selector+".page"+clickedLink).show();
return false;
});
}
}
})(jQuery);
(函数($){
$.fn.quickPager=函数(){
//编辑此
var pageSize=10;
//留下这个
var选择器=$(此);
var totalRecords=$(this).length;
var currentPage=1;
var pageCounter=1;
$(此)。每个(功能(i){
如果(i=(pageCounter-1)*pageSize){
$(this).addClass(“页面”+页面计数器);
}
否则{
$(this.addClass(“页面”+(页面计数器+1));
pageCounter++;
}
});
//显示/隐藏适当的区域
$(this.hide();
$(“.page”+currentPage.show();
//首先检查是否有多个页面。如果有,请构建导航
如果(分页计数器>1){
//构建寻呼机导航
var pageNav=“”;
对于(i=1;i和变化
$(selector+".page"+clickedLink).show();
到
选择器不是一个字符串,而是一个jQuery对象,它包含插件理解为this和change的所有元素
$(selector+".page"+clickedLink).show();
到
选择器不是字符串,它是一个jQuery对象,包含插件理解为的所有元素。这似乎缺少的链接是
selector.parent().find(".page"+clickedLink).show();
感谢您对quark的宝贵帮助。似乎丢失的链接已丢失
selector.parent().find(".page"+clickedLink).show();
感谢您宝贵的帮助quark。完美!您知道该行可以做些什么吗?$(选择器+”.page“+点击链接).show();(用于显示功能)。选择器+”.page“+点击链接.show();不工作(我想您知道)谢谢!完美!您知道该行可以做些什么吗?$(选择器+”.page“+clickedLink.show();(用于显示功能)。选择器+“.page”+clickedLink.show();不工作(我想您知道)谢谢!这不起作用-抱歉继续回来,但希望这能帮助将来搜索类似问题的人-测试页面位于,你有其他想法吗?DanThis不起作用-抱歉继续回来,但希望这能帮助将来搜索类似问题的人-测试页面位于,对吗还有其他想法吗?丹