在 SELECT 属性周围放置一个 DIV 就等于麻烦,为什么呢?
我是一个javascript学习者。我有一个即将完成的小脚本。我只想将 DIV 放在 html select 属性周围。如果我这样做,我的脚本将无法工作。为什么?这是禁止的吗?
http://jsfiddle.net/triggerload/XHWwg/159/
<div id="test">
<select class="valueList" name="n1">
<option selected value="0"></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select>
</div>
I am a javascript learner. I have a little script that is almost finished. I just want to put DIV's around the html select attribute. If I do that, my script won't work. Why? Is this forbidden?
http://jsfiddle.net/triggerload/XHWwg/159/
<div id="test">
<select class="valueList" name="n1">
<option selected value="0"></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select>
</div>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
该问题几乎肯定与您尝试获取
select
元素的方式有关:您仅检查
question_holder
的直接子节点,但是当您添加div
select
元素不再是question_holder
的直接子元素,而是您所选择的div
的子元素额外。因此,您的grabFormSelect()
代码当然不会返回它。作为快速修复,您可以尝试:
The problem almost certainly has to do with the way you are trying to grab the
select
element:You're checking only for direct child nodes of
question_holder
, but when you add yourdiv
theselect
element is no longer a direct child ofquestion_holder
, it is a child of thediv
that you added. So of course it does not get returned by yourgrabFormSelect()
code.As a quick fix, you can try:
我认为这是因为父母不再是question_holder。现在它是 div 的 id。
所以持有者现在应该调用 document.getElementById("test")
I think that it is because parent is no longer question_holder. It is now the id of the div.
So holder should now call document.getElementById("test")