繁体   English   中英

使用jQuery创建新元素并立即设置样式

[英]Create new element with jQuery and set style immediately

我正在使用jQuery的这种语法来创建新元素并直接添加属性。 这项工作总体上还不错。 但是我无法以适当的方式添加style属性。

例如,这可以正常工作:

$container.append($("<div />", {class: 'some-class'}));

我已经尝试添加style属性,就像处理data属性一样。 但这根本不起作用。

$container.append($("<div />", {
    class: 'some-class',
    style: {
        width: 100,
        background: '#f00'
    }
}));

有什么方法可以使用这种语法在创建新元素时直接设置style

只需将style更改为css

 $('body').append($("<div />", { class: 'some-class', css: { width: 100, height: 100, background: '#f00' } })); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

您可以使用.css()函数来设置或更改Style属性。 或者,您需要给样式属性一个字符串作为参数而不是一个对象。 jQuery不会将对象解析为字符串,除非使用.css()函数之类的专用函数。

指定:用

var $container = $('body');
$container.append($("<div/>", {
    class: 'some-class',
    css: {
        'width': '100',
        'background': '#f00'
    }
}));

您可以在以您的对象作为参数的元素创建时调用css函数。

var $container = $('body');
$container.append($("<div/>", {
    class: 'some-class',
    style: 'width:100px;background:#f00;'
    }
}));

您将使用单个字符串初始化style属性。 由于Style是元素的属性而不是函数,因此无法将对象作为参数处理

你可以这样添加

$( "body" ).add( "div" ).css( "background-color", "red" );

 var $container = $('body'); $container.append($("<div/>", { class: 'some-class', css: { 'width': '100', 'height':'100', 'background': '#f00' } })); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM