Javascript Jquery:链接的第一个单词颜色范围问题
我有一个问题,当第一个字是作为链接,字似乎不正常Javascript Jquery:链接的第一个单词颜色范围问题,javascript,jquery,Javascript,Jquery,我有一个问题,当第一个字是作为链接,字似乎不正常 $('h3') .each(function () { var h = $(this).html(); var index = h.indexOf(' '); if (index == -1) { index = h.length; } $(this).html('<span style="color:#fff;">' + h.substring(0, index)
$('h3')
.each(function () {
var h = $(this).html();
var index = h.indexOf(' ');
if (index == -1) {
index = h.length;
}
$(this).html('<span style="color:#fff;">' + h.substring(0, index) + '</span>' + h.substring(index, h.length));
});
$('h3')
.每个(功能){
var h=$(this.html();
var指数=h.indexOf(“”);
如果(索引==-1){
指数=h.长度;
}
$(this.html(“”+h.substring(0,index)+“”+h.substring(index,h.length));
});
当没有出现时,h3标签中的链接看起来不错
试试这样的方法:
尝试搜索打开的
a
标记,而不是空格
$('h3').each(function () {
var h = $(this).html();
var index = h.indexOf('<a');
if (index == -1) {
index = h.length;
}
$(this).html('<span style="color:#fff;">' + h.substring(0, index) + '</span>' + h.substring(index, h.length));
});
$('h3')。每个(函数(){
var h=$(this.html();
var index=h.indexOf(“您不能使用span元素中的颜色来设置标记中的颜色。您需要在标记本身中设置颜色:
$('h3')。每个(函数(){
if($(this.contents().first().is('a')){
$(this.contents().first().css('color','#fff');
}否则{
var节点=$(this.contents().filter(function()){
返回this.nodeType==3;
}).first();
var text=node.text();
var first=text.slice(0,text.indexOf(“”);
节点[0]。节点值=text.slice(first.length);
节点前(“”+第一个+“”);
}
});
h3{
背景:#f00;
}
测试词
测试单词
返回您选择的HTML中的内容。因此,如果有任何或所有文本,它也会显示您的标记。提示:如果您提供HTML,人们可能会帮助您更好地理解问题。我不太确定您想要实现什么。是否要在h3中设置除链接之外的所有内容的样式?也许您应该使用CSS:)如果你展示了一些示例html,这会有所帮助,但是你是说你想要一些jquery代码,不管第一个单词在所有h3元素中是什么,不管第一个单词是否恰好包含在一个子元素中,比如一个锚定元素?(当前尝试出错,因为它通过查找第一个空格来工作,该空格位于
标记的属性内。)
$('h3')
.each(function () {
$(this).find('.text').css("color", "red");
});
$('h3').each(function () {
var h = $(this).html();
var index = h.indexOf('<a');
if (index == -1) {
index = h.length;
}
$(this).html('<span style="color:#fff;">' + h.substring(0, index) + '</span>' + h.substring(index, h.length));
});