Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态添加jQuery元素的样式_Jquery_Html_Css - Fatal编程技术网

动态添加jQuery元素的样式

动态添加jQuery元素的样式,jquery,html,css,Jquery,Html,Css,下面是演示: 我不明白为什么相同的标记会根据它是静态交付还是加载而不同。我猜这与DOM的解析方式有关,并且样式没有从父元素正确继承 上下文是我正在设计一个交互表单,它的逻辑太复杂了,不能只隐藏/显示元素。因此,我希望动态地创建/销毁新元素(但使用适当的CSS) 谢谢你的帮助 将select和input元素的样式设置为inline block,因此如果标记中存在空格,则将它们视为具有空格的内联元素 在附加动态元素之前插入空格或换行符,或者在静态元素中删除换行符 没有空格的示例: 空格示例:这是常

下面是演示:

我不明白为什么相同的标记会根据它是静态交付还是加载而不同。我猜这与DOM的解析方式有关,并且样式没有从父元素正确继承

上下文是我正在设计一个交互表单,它的逻辑太复杂了,不能只隐藏/显示元素。因此,我希望动态地创建/销毁新元素(但使用适当的CSS)


谢谢你的帮助

select
input
元素的样式设置为
inline block
,因此如果标记中存在空格,则将它们视为具有空格的内联元素

在附加动态元素之前插入空格或换行符,或者在静态元素中删除换行符

没有空格的示例:
空格示例:

这是常见的问题:空格。静态表单在
之间有一个换行符,该换行符在表单中变为空白。但是,当您动态地附加元素时,它们之间没有任何内容

将其更改为:

dynamicControls.append(dynamicSelect, ' ', dynamicInput);
它们看起来都一样


或者,如果您更喜欢动态元素的外观,请去掉静态版本中的空白。

这是因为在静态html中,
select
input
在两行中,这意味着它们之间有一些空间。如果你想在动态中得到这个,你也必须在那里添加一个空格

这是一本书


但我强烈建议您避免这种定位,并对
边距
填充
使用严格的CSS样式。以下是使用CSS的方法。

这只是html在代码中附加的方式。这和你真实的打字方式不同。有趣的是,这会对你有用

dynamicControls.append(dynamicSelect);
dynamicControls.append('\r\n');
dynamicControls.append(dynamicInput);

class
在JavaScript中是一个受保护的单词,试着用引号括起来。我只是试着用这种方式修改他的小提琴,它没有改变任何东西。太棒了,谢谢!工作起来很有魅力!严格的风格评论也是无价的。