我有以下jQuery片段:
$(elementId).prevAll().appendTo(prevDiv);
它可以工作,但问题是prevAll()函数选择的所有元素都附加到prevDiv div,它们之间没有空格。这意味着此div的内容(锚标记的集合)不会包装到多行。
如何在每个元素的每个集合项或强制换行后添加空格?
编辑:根据要求,这里有一些HTML来演示这个问题:
<div style="width:200px; overflow:hidden; border:2px"><a style="padding:5px;" href="http://www.domain.com/" id="p-1">1</a><a style="padding:5px;" href="http://www.domain.com/" id="p-2">2</a><a style="padding:5px;" href="http://www.domain.com/" id="p-3">3</a><a style="padding:5px;" href="http://www.domain.com/" id="p-4">4</a><a style="padding:5px;" href="http://www.domain.com/" id="p-5">5</a><a style="padding:5px;" href="http://www.domain.com/" id="p-6">6</a><a style="padding:5px;" href="http://www.domain.com/" id="p-7">7</a><a style="padding:5px;" href="http://www.domain.com/" id="p-8">8</a><a style="padding:5px;" href="http://www.domain.com/" id="p-9">9</a><a style="padding:5px;" href="http://www.domain.com/" id="p-10">10</a><a style="padding:5px;" href="http://www.domain.com/" id="p-11">11</a><a style="padding:5px;" href="http://www.domain.com/" id="p-12">12</a><a style="padding:5px;" href="http://www.domain.com/" id="p-13">13</a><a style="padding:5px;" href="http://www.domain.com/" id="p-14">14</a><a style="padding:5px;" href="http://www.domain.com/" id="p-15">15</a><a style="padding:5px;" href="http://www.domain.com/" id="p-16">16</a><a style="padding:5px;" href="http://www.domain.com/" id="p-17">17</a><a style="padding:5px;" href="http://www.domain.com/" id="p-18">18</a></div>
答案 0 :(得分:5)
我会将它们全部更改为块级元素。
$(elementId).prevAll().css( { display: 'block' } ).appendTo(prevDiv);
或者如果你真的需要附加一些文字。
$(elementId).prevAll()
.appendTo(prevDiv)
.after( " " );
答案 1 :(得分:2)
@ tvanfosson的解决方案很棒,但是如果你想分离行为和演示文稿,请将它添加到你的CSS中:
#div_you_are_inserting_to a { display: block; }
这是首选项的选择,我个人并不喜欢在我的jQuery代码中添加CSS规则。
答案 2 :(得分:0)
$(elementId).prevAll().addClass('myDisplayBlockClass').appendTo(prevDiv);