Javascript Jquery,无法访问动态生成元素的css属性

Javascript Jquery,无法访问动态生成元素的css属性,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在使用jQuery将元素附加到div中,一切正常 var new_div = $('<div>My stuff</div>'); new_div.appendTo("#container"); 控制台报告以下错误: TypeError: jQuery.curCSS is not a function 我是否正确地理解了这一点,因为动态生成的元素没有定义当前的css属性,所以失败了?或者还会出什么问题 重要编辑 这方面的额外检查和工作表明我完全误解了这一点。这与元

我正在使用jQuery将元素附加到div中,一切正常

var new_div = $('<div>My stuff</div>');
new_div.appendTo("#container");
控制台报告以下错误:

 TypeError: jQuery.curCSS is not a function
我是否正确地理解了这一点,因为动态生成的元素没有定义当前的css属性,所以失败了?或者还会出什么问题

重要编辑 这方面的额外检查和工作表明我完全误解了这一点。这与元素是动态生成的这一事实无关。我通过对任何元素调用fadeIn()得到了同样的结果。 我真诚地道歉!
不过,我仍然不明白为什么会发生这种情况

将元素添加到DOM需要一些时间,可能需要几毫秒,但这仍然是jquery无法找到元素的原因。
如果DOM是一个大的html页面,这个过程可能会更慢

按如下方式编写代码:

var new_div = $('<div>My stuff</div>');
new_div.appendTo("#container");
setTimeout( function(){ 

    new_div.hide().fadeIn(); 

} , 150); // 100 could be also good 
var new_div=$(“我的东西”);
新的分区附件(“集装箱”);
setTimeout(函数(){
新建分区隐藏().fadeIn();
} , 150); // 100也可以

jquery可能有足够的时间捕获元素。

我会添加一个id来跟踪我正在创建的所有元素(只是我的首选项,但这样更容易编码)

var new\u div='My Styff'
$('body')。追加(新分区);
$('#myNewDiv1').fadeIn();

这似乎确实是一个兼容性问题,尽管我无法确切地找出原因以及如何修复它。 添加此代码可以解决此问题,不过:

jQuery.curCSS = function(element, prop, val) {
  return jQuery(element).css(prop, val);
};

你忘记了后面的括号。隐藏<代码>新建分区隐藏().fadeIn()应该可以工作。TypeError似乎属于其他类型?因为jQuery1.8.0curCSS方法已从jQueryCore中删除。请改用css()。@Mois44,ops,对不起,在写答案时拼写错误。但事实并非如此,因为这在我的原著中是正确的code@Karlos,我读了同样多的书,但我到底是如何“使用”它们的呢?我只是在使用hide()和fadeIn(),如果您不在代码中隐式编写curCSS,它可能是jquery的核心……仅供参考:您甚至可以在将新元素附加到另一个元素之前操作它。它在第一行中创建,并由变量“new_div”引用。这与异步性无关(同样,像appendTo这样的DOM操作也不是异步的)。
var new_div = '<div id="myNewDiv1" style="display:none;">My Styff</div>'
$('body').append(new_div);
$('#myNewDiv1').fadeIn();
jQuery.curCSS = function(element, prop, val) {
  return jQuery(element).css(prop, val);
};