我正在慢慢地前进并创建几个jquery插件,这些插件应该是轻量级的,并且正是我需要的。
现在我想制作一个超级简单的jQuery进度条。问题是我无法访问使用jQuery .append()
动态附加的元素。
这是JSFidle:http://jsfiddle.net/LRHXf/6/
正如您所看到的,“儿童”.smk_pb_child
应该具有不同的颜色和宽度,但由于某些未知原因,我无法使其发挥作用。
如何在变量中获取此元素,然后在需要的任何地方使用它?
答案 0 :(得分:2)
在添加元素之前设置var child,需要更改你追加函数内的var:
plugin.appendChildren = function() {
plugin.append('<div class="smk_pb_child"></div>');
child = plugin.children('.smk_pb_child');
}
var child;
答案 1 :(得分:1)
问题是您在追加子元素之前初始化child
变量。添加appendChildren
div后,需要在smk_pb_child
方法中初始化变量:
plugin.appendChildren = function () {
plugin.append('<div class="smk_pb_child"></div>');
child = plugin.children('.smk_pb_child');
}
<强> Working Demo 强>
答案 2 :(得分:0)
我看到你的jsfiddle演示并使用这段代码
// Append children
var appendhtml='<div class="smk_pb_child"></div>';
plugin.appendChildren = function() {
plugin.append(appendhtml);
}
或者您也可以使用
var appendhtml=$("<div />").attr('class',"smk_pb_child");
答案 3 :(得分:0)
尝试在jQuery中创建html并将其设置为变量,然后附加变量,而不是追加html字符串。
plugin.appendChildren = function() {
plugin.myDiv = $('<div class="smk_pb_child"></div>');
plugin.append(plugin.myDiv);
};