代码之家  ›  专栏  ›  技术社区  ›  John

jquery.insertBefore()缺少文本

  •  0
  • John  · 技术社区  · 14 年前

    我开始使用JQuery,并且构建了一个js函数,在调用表单时向表单添加字段。

    function newPoint(time){
        $('<br/>At '+ time + ' seconds, bring object <select><option>in</option><option>out</option></selection> at <select><option>regular</option><option>slow</option><option>fast</option></selection> speed.<br/>').insertBefore('#submitBtn');    
    }
    

    这是html。。。

    <div id="rightSide">
    <form> <input id="submitBtn" type="submit" value="Go"></form>
    </div>
    

    函数运行时,插入操作正常,但下拉列表中的“at”和结尾的“speed”之间的单词不会插入。

    alt text

    这是为什么?我想我误解了jquery或js工作方式的关键。(我的脚都湿了)如果是这样的话,你能给我指出正确的理解方向,而不仅仅是帮我解决这个问题吗?

    谢谢!

    编辑:有了这个固定的(愚蠢的手指),另一个问题弹出。。。

    删除插入开头的换行符<br/>时,将丢失直至第一个下拉框的文本。有什么想法吗?

    2 回复  |  直到 14 年前
        1
  •  5
  •   stevelove    14 年前

    问题在于: ... bring object <select><option>in</option><option>out</option></selection> at ...

    最后一个标签上写着 </selection> . 应该是 </select> . 插入字符串末尾也存在同样的问题。

        2
  •  0
  •   Anthony Corbelli    14 年前

    你为什么要开一个 select 标记但关闭 selection 标签?

    被瞬间打败。