innerHTML += "<select onchange='sel()'><option>1</option><option>2</option></select>" 这样子可以

innerHTML+="<selectonchange='sel()'><option>1</option><option>2</option></select>"这样子... innerHTML += "<select onchange='sel()'><option>1</option><option>2</option></select>" 这样子可以现实下来选择框

innerHTML += "<select onchange='sel()'>"
innerHTML += "<option>1</option><option>2</option></select>" 为什么这样就不行了哎
展开
 我来答
本逸春vL
2012-07-25 · TA获得超过1567个赞
知道小有建树答主
回答量:812
采纳率:0%
帮助的人:651万
展开全部
当执行 innerHTML += "<select onchange='sel()'>" 后,元素里面被创建了一个 select 元素。
再执行 innerHTML += "<option>1</option><option>2</option></select>" 的时候,option 元素是被创建在之前的 select 元素之外的,最后一个 </select> 由于无法匹配,会被浏览器忽略掉。

innerHTML += "<select onchange='sel()'><option>1</option><option>2</option></select>"
这样的创建,会直接指明option是在select之中。

你可以使用firebug或chrome查看一下html的dom结构。
追问
那我有什么方法可以这样写成两行吗
追答
写成两行,浏览器会执行两次操作,而半个的标签要不就是被解析成一个,要不就是不解析。
你可以先创建select元素,然后再取得这个select元素对象,再在select中创建option。
挺拔还文雅的小毛豆3d2
2012-07-25 · TA获得超过199个赞
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:129万
展开全部
应该是第二个把第一个替换掉了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式