繁体   English   中英

使用 Javascript 添加内联样式

[英]Add inline style using Javascript

我正在尝试将此代码添加到动态创建的 div 元素

style = "width:330px;float:left;" 

创建动态div的代码是

var nFilter = document.createElement('div');
nFilter.className = 'well';
nFilter.innerHTML = '<label>' + sSearchStr + '</label>';

我的想法是在< div class="well"之后添加样式,但我不知道该怎么做。

nFilter.style.width = '330px';
nFilter.style.float = 'left';

这应该为元素添加内联样式。

您可以直接在样式上执行此操作:

var nFilter = document.createElement('div');
nFilter.className = 'well';
nFilter.innerHTML = '<label>'+sSearchStr+'</label>';

// Css styling
nFilter.style.width = "330px";
nFilter.style.float = "left";

// or
nFilter.setAttribute("style", "width:330px;float:left;");

使用 jQuery :

$(nFilter).attr("style","whatever");

否则 :

nFilter.setAttribute("style", "whatever");

应该管用

你可以试试这个

nFilter.style.cssText = 'width:330px;float:left;';

那应该为你做。

var div = document.createElement('div');
div.setAttribute('style', 'width:330px; float:left');
div.setAttribute('class', 'well');
var label = document.createElement('label');
label.innerHTML = 'YOUR TEXT HERE';
div.appendChild(label);

一些人有一个使用我喜欢的 setAttribute 的例子。 但是,它假定您当前没有设置任何样式。 我可能会做这样的事情:

nFilter.setAttribute('style', nFilter.getAttribute('style') + ';width:330px;float:left;');

或者把它变成这样的辅助函数:

function setStyle(el, css){
  el.setAttribute('style', el.getAttribute('style') + ';' + css);
}

setStyle(nFilter, 'width:330px;float:left;');

这确保您可以连续添加样式,并且不会通过始终附加到当前样式来删除当前设置的任何样式。 它还添加了一个额外的分号,以便如果某个样式丢失了一个,它将附加另一个以确保它被完全分隔。

你应该创建一个 css 类.my_style然后使用.addClass('.mystyle')

如果不想逐行添加每个 css 属性,可以执行以下操作:

 document.body.insertAdjacentHTML('afterbegin','<div id="div"></div>'); /** * Add styles to DOM element * @element DOM element * @styles object with css styles */ function addStyles(element,styles){ for(id in styles){ element.style[id] = styles[id]; } } // usage var nFilter = document.getElementById('div'); var styles = { color: "red" ,width: "100px" ,height: "100px" ,display: "block" ,border: "1px solid blue" } addStyles(nFilter,styles);

使用cssText

nFilter.style.cssText +=';width:330px;float:left;';

尝试这样的事情

document.getElementById("vid-holder").style.width=300 + "px";

现在你已经创建了这个类,用css做。 .well {宽度:330px; 向左飘浮; }

暂无
暂无

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

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