jquery搜索和应用css样式

问题描述:

我想修改标题栏jquery插件展示,我将<p class='title>添加到描述标签,以便我可以将css样式应用于标题并将该部分分隔为实际描述。 脚本:jquery搜索和应用css样式

var $a = $("<a />").attr("href", $container.find("a:first").attr("href")).html("<span>" + $container.find("a:first img").attr("alt") + "</span>"); 

var $titleBar = $("<div id='subBar' />").html($a); 

HTML输出:

<div id="subBar"><span><p class="title">Lorem</p>description here</span></div> 

从上面的结构,我怎样才能通过jQuery如果<p class='title'>添加CSS是遇到过吗?我想添加CSS样式类标题,这是不可能的CSS,因为这是由JavaScript生成的。

+0

和你的问题是? – SilentGhost 2010-05-19 13:18:28

+0

CSS规则集适用于DOM中匹配的所有内容 - 它们来自JS或HTML并不重要,因此您的语句“不可能用CSS,因为这是由javascript生成的”是错误的。 – Quentin 2010-05-19 14:33:09

+0

您正在尝试生成无效的DOM。 'p'元素不能是'span'元素的子元素。浏览器错误更正几乎肯定会导致不一致的行为,因为不同的浏览器尝试以不同的方式从错误中恢复,从而导致不一致的行为。 – Quentin 2010-05-19 14:34:28

删除你选择的“p”和“.title伪”之间的空间:

$container.find("p.title").css('color','red'); 

(如果那是你的问题)

更新:您的jQuery选择将仍然正常工作,即使您尝试访问的DOM元素由Javascript生成。您可以在浏览器的JavaScript控制台(例如Firebug)中进行测试。您必须确保您的代码在生成标题元素的代码之后执行。

但是,您真的需要在这里使用Javascript吗?如果你只是想将类'标题'设置为红色的段落,只需添加一些CSS:

p.title { color: red; }