1

我正在尝试使用 jQuery 更改以下内容的 HTML

'<label for="aTitle" generated="true" class="error aTitle" style=""></label>';

但是,如果我使用下面的 jQuery 代码,则没有任何变化。我无法删除那里的空间。还有其他方法可以使这项工作吗?

$(".error aTitle").html("Hello <b>world!</b>");
4

3 回答 3

9

删除空格并添加.类选择器aTitle

$(".error.aTitle").html("Hello <b>world!</b>");
于 2012-08-21T14:25:38.520 回答
0
class="error aTitle"

您实际上在这里设置了两个类,而不是一个。该元素具有类error并且它具有类aTitle

您要选择具有两个类的元素:

$('.error.aTitle')
于 2012-08-21T14:46:01.657 回答
0

您当前的选择器$(".error aTitle")表示要匹配<aTitle>其父元素具有 CSS class 的所有元素.error,这并不是您想要的。

要选择所需的元素,您需要将选择器更改为$('.error.aTitle'). 每个类之前都必须有一个句点(表示 CSS 类),否则它将被视为一个元素(即 a <div>)。选择器中项目之间的空格表示继承,因此使用类似选择器$('.error .aTitle')意味着您要选择所有具有 CSS 类的.aTitle元素,其父元素具有 CSS 类.error

另一个可以使用的选择器的进一步示例(可能有点矫枉过正)是,它表示使用和的 CSS 类$('label.aTitle.error')选择所有。此选择器将不匹配,例如.<label>.aTitle.error<input type="text" class="error aTitle" />

于 2012-08-21T14:38:52.037 回答