【问题标题】:List item loses styling when added dynamically动态添加时列表项失去样式
【发布时间】:2015-07-20 21:15:17
【问题描述】:

我正在使用最新版本的 Bootstrap 来设置我的大多数 HTML 元素的样式。

在我的一个页面上,我需要将列表项动态添加到我的 <ul></ul> 元素中。我正在使用jQuery 添加这些额外的列表项。我就是这样做的:

$('ul.test-items').append('<li class="available">Test Item</li><li class="available">Test Item</li>');');

在将新列表项添加到 ul 元素后,它似乎失去了该 &lt;li&gt;&lt;/li&gt; 项的样式,已添加的列表项正确显示。列表项的两侧都有填充,但添加时它们似乎彼此相邻添加,没有填充。添加新列表项后是否需要重新绘制 ul 元素,以便将其设置为 ul 元素的一部分?

添加 1 个列表项元素似乎效果很好,但是添加 2 个或更多您可以看到差异。

这是我当前的 HTML 标记:

<ul class="list-inline test-items">
     <li class="available">product colour 1</li>
     <li class="available">product colour 3</li>
</ul>

通过 jQuery 添加新的列表项后,它看起来像这样:

<ul class="list-inline test-items">
     <li class="available">product colour 1</li>
     <li class="available">product colour 3</li>
     <li class="available">Test Item</li>
     <li class="available">Test Item</li>
</ul>

当我通过在Chrome 中按F12 查看标记时,它看起来正确,只是显示不正确。我的猜测是它不是已经样式化的 ul 元素的一部分。

这是我的风格:

.test-items .available
{
    border: 2px solid #999;
}

【问题讨论】:

  • 您能否在jsfiddle.net 上复制此内容?因为它似乎在这里工作正常jsbin.com/hemiye/edit?html,js,output
  • jsfiddle.net/0s7n3907 似乎工作正常
  • 它适用于添加 1 个列表项元素,尝试添加 2 个或更多。另请参阅我的样式类,以在每个列表项元素周围添加边框。
  • $('ul.test-items').append('$('ul.test-items').append('&lt;li… - 该代码毫无意义。您现在是否错误地编辑了它,或者那是您的实际代码? (可能不是,由于语法错误,这甚至不应该工作。)
  • @CBroe 对不起,我的错误,现在检查一下。

标签: html twitter-bootstrap css twitter-bootstrap-3


【解决方案1】:

列表项的两边都有内边距,但添加时它们似乎是相邻添加的,没有内边距

Padding 是元素的 inside —— 并且新添加的元素在其边框的 inside 内也有该填充。这不是问题。

元素之间的间距,仅来自元素标签之间的空白——因为li 显示为inline

如果那就是你在这里想要的——那么你只需要自己在新添加的元素之间添加那个空格:

.append('<li class="available">Test Item</li> <li class="available">Test Item 2</li>');

https://jsfiddle.net/0s7n3907/4/

【讨论】:

  • 现在第三次添加 Bootstap 然后向我展示你的结果!
  • &lt;li&gt;&lt;/li&gt;&lt;li&gt;&lt;/li&gt;之间加一个空格并不能解决问题!
  • 1.那个小提琴确实包括引导程序! (而且首先提供这样一个示例会是您的工作。) 2. 该示例中的第一个列表是您的代码,li 紧随其后,而第二个确实li 之间有空格——你是在告诉我你发现结果没有区别......?
  • 如果你说这并没有解决你的问题(而且反对票不仅仅是一个漂亮的“报复”)——那么你可能需要更多具体了解您的问题实际上是什么......我的代码如图所示确实在新添加的元素之间具有与已经存在的元素相同的间距——所以如果这不是你要问的——那么 什么是
  • 我不明白为什么需要一个空格?这没有意义。如果你缩小 HTML 会发生什么,那么你会遇到同样的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-01
  • 2019-07-17
  • 1970-01-01
  • 2013-04-20
相关资源
最近更新 更多