jQuery选择器无法从变量获取字符串但已定义

时间:2018-10-24 18:07:52

标签: jquery

function draw(Main,Num_Nodes,check) {
    for (var i=0;i<Num_Nodes;i++)
    {
      var window = $("#window");
      var newnode = $('<div></div>');
      var node = Main[i];

      **var name = String(node.Name); //1
      //var name = "LeCorbusier";//2**

      var name = name.replace(/\s+/g,"");    //remove ' '
      newnode.attr("id",name);         //set id for <div>

      function product(id0){          // change <div>
         $("#"+id0).css({"width":"50px","height":"50px","background":"#FFF780"});
      }

      product(name);
      window.after(newnode);
    }
}
//end

我认为那两个将名称命名为字符串,第二个有效,并且我成功更改了<div>,但是第一个无效,并且未进行任何更改,我确认node.Name是“ LeCorbusier”和String()可以将其更改为字符串。

1 个答案:

答案 0 :(得分:0)

您没有将元素添加到DOM,而是在那里寻找它。因此,如果要查找它,必须先将其添加到文档中,然后再尝试在该文档中找到它。

您已经有参考文献,那么为什么要查找它呢?只需设置它即可。

newnode.attr(...)
newnode.css({"width":"50px","height":"50px","background":"#FFF780"});