3

我有以下 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>
4

3 回答 3

5

我会将它们全部更改为块级元素。

$(elementId).prevAll().css( { display: 'block' } ).appendTo(prevDiv);

或者如果你真的需要附加一些文本。

$(elementId).prevAll()
            .appendTo(prevDiv)
            .after( " " );
于 2011-04-05T14:47:27.537 回答
2

@tvanfosson 的解决方案很棒,但是如果您想将行为和表示分开,请将其添加到您的 CSS 中:

#div_you_are_inserting_to a { display: block; }

这是一个偏好选择,我个人不太喜欢将 CSS 规则添加到我的 jQuery 代码中。

于 2011-04-05T14:52:33.560 回答
0
$(elementId).prevAll().addClass('myDisplayBlockClass').appendTo(prevDiv);
于 2011-04-05T15:00:45.047 回答