我无法在我试图制作的插件中引用一个对象。
该插件与div容器相关联。
当dom准备就绪时,它会以启动默认值加载 - 创建自己的div,其中包含它知道的id和无序列表。我可以使用$this.append(..)
添加列表项并使其正常工作。但是我想添加一个功能,单击某个列表项会执行某些操作..现在警报就足够了。
通常我可以这样做:
$("#myId").click(function(){...
我如何将这些功能添加到插件中?
我想要插件本身设置的动作,所以点击插件创建的列表项已经附加到我写入jquery插件的一些功能。
答案 0 :(得分:1)
根据您的评论,您可以将新标签存储在变量中:
var newTab = $("<li id='tab#" + o.tabCount + "' myTabPane='" +
o.tabId + o.tabCount + "' class='tab'><h3>Tab " + o.tabCount
+ "</h3></li>");
$('#' + o.tabListId).append(newTab);
newTab.click(function() {
var paneId = '#' + $(this).attr('myTabPane');
$(paneId).siblings().hide();
$(paneId).show();
});
链接到working example at jsfiddle。
顺便说一句,您的原始脚本将第二个'
放在错误的位置:
$("<li id='tab#'" + o.tabCount + " class='tab'><h3>Tab "
^^^
答案 1 :(得分:1)
您需要在按标记名称追加ID后再引用它们。
$(this).find("li").click(function(){ /* do work */});
如果你必须通过ID引用它,你可以这样做:
$(this).find("li").each(function(){
var id = $(this).attr("id");
/* do work */
});