.prepend()
在有一行代码(例如.prepend("<li>item1<li>")
)时工作,但是当我尝试在其中放入一大块代码时,例如多个div与类等,它不起作用。但是,我确实看到你可以传递一个函数,但我无法弄清楚语法。
如果我需要使用$(selector).prepend(function(index,html))
,请帮我使用。
编辑:我通过将一个函数传递给它来实现它,我仍然不明白如何使用索引,html参数。
答案 0 :(得分:2)
你应该创建字符串......
var myString = '<div class="lorem"><div id="temp" class="ipsum"></div></div>';
然后在它前面加上:
$(selector).prepend(myString);
注意:始终将DOM插入减少为minium。工作解决方案:http://jsfiddle.net/mCUWe/
编辑:如果要格式化标记,则可以执行称为字符串连接的操作。也适用:http://jsfiddle.net/mCUWe/1/
var myString = '<div class="lorem">LOREM'
+'<div id="temp" class="ipsum">IPSUM'
+'</div></div>';
更新02/2017
现在我建议使用ES2015 Template-Strings
答案 1 :(得分:1)
index
参数将告诉您当前元素在选择器中的位置
html
参数会告诉您当前元素的旧html
例如,如果您想要ul
,并希望将li
号码插入到乞讨中:
$('ul').find('li').prepend(function(index, html){
return 'li number ' + index;
})