Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何访问jQuery插件中的附加元素并将其存储在全局变量中?_Jquery_Append - Fatal编程技术网

如何访问jQuery插件中的附加元素并将其存储在全局变量中?

如何访问jQuery插件中的附加元素并将其存储在全局变量中?,jquery,append,Jquery,Append,我正在慢慢地向前推进,创建几个jquery插件,这些插件应该是轻量级的,并且可以满足我的需要 现在我想制作一个超级简单的jQuery进度条。问题是我无法访问使用jQuery.append()动态追加的元素 以下是JSFidle: 正如您所看到的,“children”.smk\u pb\u child应该有不同的颜色和宽度,但不知什么原因,我无法实现这一点 我怎样才能在变量中得到这个元素,然后在需要它的地方使用它?我看到了您的JSFIDLE演示并使用了这段代码 // Append children

我正在慢慢地向前推进,创建几个jquery插件,这些插件应该是轻量级的,并且可以满足我的需要

现在我想制作一个超级简单的jQuery进度条。问题是我无法访问使用jQuery
.append()
动态追加的元素

以下是JSFidle:

正如您所看到的,“children”
.smk\u pb\u child
应该有不同的颜色和宽度,但不知什么原因,我无法实现这一点


我怎样才能在变量中得到这个元素,然后在需要它的地方使用它?

我看到了您的JSFIDLE演示并使用了这段代码

// Append children
        var appendhtml='<div class="smk_pb_child"></div>'; 
        plugin.appendChildren = function() {
                    plugin.append(appendhtml);
                }
//附加子项
var appendhtml='';
plugin.appendChildren=函数(){
append(appendhtml);
}
或者你也可以使用

var appendhtml=$("<div />").attr('class',"smk_pb_child");
var appendhtml=$(“”).attr('class',“smk_pb_child”);

尝试在jQuery中创建html并将其设置为变量,然后添加变量,而不是附加html字符串

plugin.appendChildren = function() {
    plugin.myDiv = $('<div class="smk_pb_child"></div>');
    plugin.append(plugin.myDiv);
};
plugin.appendChildren=function(){
plugin.myDiv=$('');
plugin.append(plugin.myDiv);
};

问题在于,在附加子元素之前,您正在初始化
子变量。添加
smk_pb_child
div后,需要在
appendChildren
方法中初始化变量:

plugin.appendChildren = function () {
     plugin.append('<div class="smk_pb_child"></div>');
     child = plugin.children('.smk_pb_child');
}
plugin.appendChildren=函数(){
plugin.append(“”);
child=plugin.childs('.smk_pb_child');
}

如果在追加元素之前设置了var子级,则需要在追加函数中更改var:

plugin.appendChildren = function() {
    plugin.append('<div class="smk_pb_child"></div>');
    child = plugin.children('.smk_pb_child');
}

var child;
plugin.appendChildren=function(){
plugin.append(“”);
child=plugin.childs('.smk_pb_child');
}
var-child;

Fiddle:

奇怪,我认为我不允许在一个函数中声明一个变量,然后在另一个函数中使用它。但可能是因为这里我们讨论的是方法。。。谢谢,它工作起来很有魅力。你需要在插件作用域中定义子变量,然后在appendChildren方法中更新值。有几个答案可以帮助你。您也可以尝试以下方法:。通过改变它的CSS,我认为它可能足够好用。这只是一个例子,但我尝试做的不仅仅是一个进度条,而是更多不同用途的插件,主要问题是我无法访问动态创建的元素。;)