JavaScript中创建元素并附加style属性的问题,进来看code

window.onload=function(){varlike=document.createElement("select");like.id="like";like... window.onload=function(){
var like = document.createElement("select");
like.id="like";
like.multiple="multiple";
//like.style="width:150px;height:150px;";//不适用于style?
like.setAttribute("style","width:150px;height:150px;");
for(var i=0; i<5; i++){
var lOp = document.createElement("option");
lOp.value=i;
lOp.innerHTML = "op"+i;
like.appendChild(lOp);
}
document.body.appendChild(like);

代码中注释掉的那行是没有效果的(IE9 火狐最新 chrome),
是我代码写的有问题?还是真的不能".style"?如果是代码写错了那怎么改呢?
展开
 我来答
科学史话
推荐于2017-11-25 · TA获得超过138个赞
知道答主
回答量:48
采纳率:0%
帮助的人:48.3万
展开全部
元素的style属性是个只读属性,不能直接赋值,只能针对子属性进行设置,如
like.style.width = "100px";

需要同时进行多个属性的设置还有一种方案:
like.style.cssText = "width:150px;height:150px;"

当然,这样就会覆盖like元素上原有的样式定义,如果需要,安全的做法如下:
like.style.cssText +="width:150px;height:150px;"
sicf
2012-10-28 · TA获得超过916个赞
知道小有建树答主
回答量:584
采纳率:100%
帮助的人:601万
展开全部
JS设置对象样式是用style,不过需要分开用,不可以单独设置style,因为style是一个对象,而不是字符串。
like.style.width = "150px";
like.style.height = "150px";
再例如:
like.style.marginLeft = "10px";//(JS设置样式不能用下划线_,所以后面的字母需要转大写)

基本使用是这样,只有少数样式名不同,如style.cssFloat。你也可以自定义一个函数去进行一次过设置。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式