首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将新创建的html元素绑定到它的css

如何将新创建的html元素绑定到它的css
EN

Stack Overflow用户
提问于 2013-03-18 11:34:49
回答 2查看 1.2K关注 0票数 0

我通过javascript动态添加新的html元素,这些新创建的html元素有一个css类,它已经存在于一个链接的style.css文件中。如何让这个新创建的元素知道他的css类,以便这个类的样式可以影响新创建的html元素。

我的js:

代码语言:javascript
运行
复制
for(k=1;k<=5;k++){
  if(k==data[i]['price']){
html = html + '<input class=\"star\" type=\"radio\" name=\"test-5\" disabled=\"disabled\" value=\"'+k+'\" checked=\"checked\" />';
  }else{
html = html + '<input class=\"star\" type=\"radio\" name=\"test-6\" disabled=\"disabled\" value=\"'+k+'\"/>';
  }
 }

star应该在css文件创建后立即流行起来。在jquery中有没有make-popular函数?

希望我能很好地解释我的问题..

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-18 11:39:53

只要页面已经引用了CSS文件,那么您所要做的就是创建具有星形“class=”属性的元素。我不知道您最终如何处理html变量,但是假设您的元素以class="star"属性出现在页面上,并且正确地声明了一个star css类,那么这就是所需的全部内容。使用F12 developer工具检查浏览器中的元素,以验证是否应用了类。

示例:

http://jsfiddle.net/mQKdc/

代码语言:javascript
运行
复制
$(function(){
     $('#addToMe').html('<div class="star">test</div>');
});

编辑:注意,输入元素很难定义样式,因为每个操作系统(Win/Linux)和/或浏览器(IE、Firefox、Chrome)都可以提供自己的输入元素样式。有一些东西你可能会发现很难在它们上面设置样式。在这种情况下,它实际上不是一个javesceiprt问题,而是一个CSS问题。你需要问一个与CSS相关的问题,说明1)你的CSS是什么,2)你的目标是什么,3)你所看到的表明你当前的CSS没有达到目标(即你的问题)。

编辑2:排序前,元素的HTML:

代码语言:javascript
运行
复制
<div role="text" aria-label="" class="star-rating rater-0 star star-rating-applied star-rating-readonly star-rating-on">
   <a title="2">2</a>
</div>

输入也在那里,但是样式被应用于这个元素。星形样式应用于<a>元素:

代码语言:javascript
运行
复制
div.star-rating a {
background: url(../images/star.gif) no-repeat 0 0px;
}

排序后,div+a不存在,只有输入。不存在该样式的元素(**div.star-rating a**

代码语言:javascript
运行
复制
<input class="star" type="radio" name="test-1-rating-5" disabled="disabled" value="4">

因此,根据我在排序前看到的HTML,排序后生成的HTML是不正确的。你是不是在使用某种插件/库来生成星星?如果是这样的话,我猜您会调用一些函数来生成适当的HTML。

解决方案:看起来应该这样做,以便对希望激活星级插件的每个元素运行.rating()函数:

代码语言:javascript
运行
复制
$('.star').rating();

你只需要在生成新元素后运行它。

票数 3
EN

Stack Overflow用户

发布于 2013-03-18 11:42:19

如果您正在添加使用现有Css的新html元素,那么这些元素在默认情况下应该能够使用它们。你对此有什么意见吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15469366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档