Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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
Javascript jQuery旋钮未在其后面加载';它被插入到HTML中_Javascript_Jquery - Fatal编程技术网

Javascript jQuery旋钮未在其后面加载';它被插入到HTML中

Javascript jQuery旋钮未在其后面加载';它被插入到HTML中,javascript,jquery,Javascript,Jquery,我定义了一个featureGenerator函数来在HTML中动态生成一个jQuery旋钮。然而,插入此旋钮后,旋钮的所有属性都消失了,即使浏览器检查器确实确认了插入的代码。因此,我测试了在Jquery之外运行该函数,它工作正常。谁能告诉我我做错了什么吗?谢谢大家! 我用的旋钮是 JSFIDLE 函数特性生成器(htmlID、特性、initStatus1、initStatus2、idName){ 如果(功能==“旋钮”){htmlID.innerHTML=“”+ ""+ ""+ ""+ "";

我定义了一个featureGenerator函数来在HTML中动态生成一个jQuery旋钮。然而,插入此旋钮后,旋钮的所有属性都消失了,即使浏览器检查器确实确认了插入的代码。因此,我测试了在Jquery之外运行该函数,它工作正常。谁能告诉我我做错了什么吗?谢谢大家!

我用的旋钮是

JSFIDLE

函数特性生成器(htmlID、特性、initStatus1、initStatus2、idName){
如果(功能==“旋钮”){htmlID.innerHTML=“”+
""+
""+
""+
"";
}
}
$(文档).ready(函数(){
$(“.knob”).knob({
“min”:0
“最大值”:250
});
$(“.classname1”)。单击(函数(){
$(this.find(“.toggleround”).toggle(“fold”,250);
featureGenerator(($(this)).get(0).childNodes[0].childNodes[0],“旋钮”,0,0,“146A”);
});
})

因此,在尝试初始化旋钮后,您将动态插入旋钮的代码。当然,没有什么可以初始化的,因为旋钮还没有。这就是它不起作用的原因

您必须在生成一个已知的旋钮之后(而不是之前)初始化旋钮。所以你应该移动这个:

$(".knob").knob({'min':0,'max':250});
在featureGenerator函数的末尾

最好将其更改为单个旋钮ID,而不是整个类:

$("#newKnobIDHere").knob({'min':0,'max':250});
我更新了你的小提琴: 样式完全关闭,但旋钮可以工作


您没有包含旋钮库,在使用旋钮HTML之前调用旋钮构造函数。

找到了解决方案!可能是由于jquery生成的旋钮,我实际上不得不执行appendChild操作,而不是插入一块html文本。下面是我最终使用的,创建DOM子对象并逐个设置属性

function insertDOM(tag, att){
  var fragment = document.createElement(tag);
  for (var a in att){
    if (att.hasOwnProperty(a)){
      fragment.setAttribute(a, att[a]);
    }
  }
  for (var i = 2 ; i < arguments.length ; i++){
    if (arguments[i].nodeType == 1 || arguments[i].nodeType == 3) {
      fragment.appendChild(arguments[i])}
  }
  return fragment;
}

  var fragmom = insertDOM("div", {'id': ipIdentifier})
  var frag1 = insertDOM("div", {'class':"sameOuterKnob",'style': "position:absolute;left:4px;"})
      frag1.appendChild(insertDOM("input", {'class':"knob",'data-width':"180",'data-height':"180",'data-thickness':"0.4",'data-angleOffset':-125,'data-displayInput':false,'data-angleArc':250,'data-step':"5",'data-fgColor':"#1e8bf2",'data-bgColor':"#f4f4f4",'data-linecap':'round','value':initStatus1}))
  var frag2 = insertDOM("div", {'style': "position:absolute;left:44px;top:40px;display:block"})
      frag2.appendChild(insertDOM("input", {'class':"knob",'data-width':"100",'data-height':"100",'data-thickness':"0.4",'data-angleOffset':-125,'data-displayInput':false,'data-angleArc':250,'data-step':"5",'data-fgColor':"#1e8bf2",'data-bgColor':"#f4f4f4",'data-linecap':'round','value':initStatus2}))
  fragmom.appendChild(frag1);
  fragmom.appendChild(frag2);
  htmlID.appendChild(fragmom);
函数插入域(标记,附件){
var fragment=document.createElement(标记);
用于(附件中的a型变量){
if(附件hasOwnProperty(a)){
setAttribute(a,att[a]);
}
}
for(var i=2;i
您在document.ready上初始化了knob(),但在稍后单击创建它之前它不存在。我已经尝试在插入后放置该行,但似乎也不起作用。不过,我会看看确定身份是否会有所帮助。谢谢你的建议!如果你能做一个jsfiddle,这将是很有帮助的。只是用ID而不是knob类再试一次,出于某种原因仍然不行ID只是为了不重新定位所有现有的knob,只是新的一个,但是这不会解决问题。我真的认为问题出在错误的操作顺序上,我现在不知道。放一把小提琴,我就可以用它演奏了
function insertDOM(tag, att){
  var fragment = document.createElement(tag);
  for (var a in att){
    if (att.hasOwnProperty(a)){
      fragment.setAttribute(a, att[a]);
    }
  }
  for (var i = 2 ; i < arguments.length ; i++){
    if (arguments[i].nodeType == 1 || arguments[i].nodeType == 3) {
      fragment.appendChild(arguments[i])}
  }
  return fragment;
}

  var fragmom = insertDOM("div", {'id': ipIdentifier})
  var frag1 = insertDOM("div", {'class':"sameOuterKnob",'style': "position:absolute;left:4px;"})
      frag1.appendChild(insertDOM("input", {'class':"knob",'data-width':"180",'data-height':"180",'data-thickness':"0.4",'data-angleOffset':-125,'data-displayInput':false,'data-angleArc':250,'data-step':"5",'data-fgColor':"#1e8bf2",'data-bgColor':"#f4f4f4",'data-linecap':'round','value':initStatus1}))
  var frag2 = insertDOM("div", {'style': "position:absolute;left:44px;top:40px;display:block"})
      frag2.appendChild(insertDOM("input", {'class':"knob",'data-width':"100",'data-height':"100",'data-thickness':"0.4",'data-angleOffset':-125,'data-displayInput':false,'data-angleArc':250,'data-step':"5",'data-fgColor':"#1e8bf2",'data-bgColor':"#f4f4f4",'data-linecap':'round','value':initStatus2}))
  fragmom.appendChild(frag1);
  fragmom.appendChild(frag2);
  htmlID.appendChild(fragmom);