我有以下HTML代码:
<p>
<label>* Name</label>
</p>
<p>
<label>* Last Name</label>
</p>
<p>
<label>Mascot Name</label>
</p>
是否可以使用jQuery仅将颜色更改为字符*
?
我尝试使用函数find()
,但我重复了标签上的所有字符。
答案 0 :(得分:11)
如果你坚持使用脚本解决方案:
$("p > label:contains('*')").each(function () {
$(this).html($(this).html().replace("*", "<span class='red'>*</span>"));
});
答案 1 :(得分:3)
你应该使用css来实现这一目标。 请改用以下内容
<label><span style="color:red">*</span> Name</label>
这将完成工作。
答案 2 :(得分:0)
答案 3 :(得分:0)
Karim's答案很棒,但在实施时,我注意到它只会在每个
标记中选择一个字符,所以在这种情况下:
<p>
<label>* Name</label>
<label>* Last Name</label>
<label>Mascot Name</label>
</p>
它不会工作。使用&#34;标签:包含(&#39; *&#39;)&#34;替换选择器没问题在这种情况下,但是如果您想要更改该特定字符的每个实例的颜色(或其他属性),该怎么办?所以在这种情况下:
<p>
* Name<br/>
* Last Name<br/>
Mascot Name
</p>
你真的需要别的东西(我知道它看起来并不好,但这是Wordpress的实际输出)。 我发现了这个:Change formatting of a specific character using css or jquery, 哪里有Blazemonger's回答的诀窍!我在这里重复一遍:
$('selector').html(function(i,el) {
return el.replace(/\*/g, '<span class="color">*</span>');
});