我有一个页面,您可以在其中单击“添加关键字”链接,然后会显示输入,您可以输入关键字,然后将其转换为模糊或“返回”键上的span标记。但是,我一直在添加它以允许“自动完成”功能,所以我试图插入
<ul></ul>
输入后输入以便在列表中执行.load。
我的相关代码是:
var addKeywordId = 0;
$('a.add_keyword').live('click', function(){
$(this).before('<input type="text" class="add_keyword" id="addKeyword'+addKeywordId+'" /><ul><li>hi</li></ul>');
$('.add_keyword').focus();
addKeywordId++;
});
问题是,我的HTML结构最终看起来像这样:
<ul><li>hi</li></ul>
<a class="add_keyword">+ add keyword</a>
<input id="addKeyword0" class="add_keyword" type="text />
INSTEAD OF
<input id="addKeyword0" class="add_keyword" type="text />
<ul><li>hi</li></ul>
<a class="add_keyword">+ add keyword</a>
有人知道为什么我的HTML是按照我指定的顺序添加的吗?
由于
编辑:这似乎在谷歌Chrome中运行良好,但在Mozilla Firefox中却没有。:(
答案 0 :(得分:0)
这很可能是由于Firefox的错误重新调整,即使出现错误也会尝试显示内容。我已经看到它在哪里我错过了一个结束div,IE吓坏了(因为它应该)和Firefox看起来很好,因为它忽略了你错过了添加结束div和猜测。
你可以试试2阶段的事情。我会在ul标签中添加一个id,然后在它之前添加输入。
$(this).before('<ul id="ulid"><li>hi</li></ul>');
$('#ulid').before('<input type="text" class="add_keyword" id="addKeyword'+addKeywordId+'" />');
哈欣快乐。
_wryteowl