获取字符串的值;在内容中查找此字符串;感谢jQuery,将新样式应用于此字符串
答案似乎很简单,但我找不到解决办法 我有一个WordPress网站。在我右边的专栏中,我打印了一些元数据。我想获取一些数据的文本值,然后在我的.entry内容中找到它,并将新样式应用于这个精确的字符串。我可以通过将新样式应用于.entry-content中的整个内容来处理此任务,但我不能使用单个字符串(文本中有许多地方)来应用它 下面是我的代码:获取字符串的值;在内容中查找此字符串;感谢jQuery,将新样式应用于此字符串,jquery,css,wordpress,Jquery,Css,Wordpress,答案似乎很简单,但我找不到解决办法 我有一个WordPress网站。在我右边的专栏中,我打印了一些元数据。我想获取一些数据的文本值,然后在我的.entry内容中找到它,并将新样式应用于这个精确的字符串。我可以通过将新样式应用于.entry-content中的整个内容来处理此任务,但我不能使用单个字符串(文本中有许多地方)来应用它 下面是我的代码: jQuery(document).ready(function($) { var str = $('.rrname').text(); // I'v
jQuery(document).ready(function($) {
var str = $('.rrname').text(); // I've got the value
$(".entry-content:contains('"+ str +"')").css( "text-decoration",
"underline"); // all the content in the div .entry-content now underline
});
例如,我有一个显示名称的字符串:
节目名称:“好医生”
在我的文章中,这个短语出现过很多次。我希望每一次,好医生都在我的整篇文章的div.entry内容中加下划线
我也尝试过这段代码,但没有结果:
jQuery(document).ready(function($) {
var str = $('.rrname').text();
$(".entry-content:contains('"+ str +"')").each(function() {
$(this).text().css( "text-decoration", "underline");
});
});
谢谢你的帮助
//虚拟拉取包含要匹配的文本的元素
变量$div=$('div');
//包含要搜索和替换的内容的虚拟变量
var underlineMe=‘好医生’;
//用包装版本替换搜索字符串中出现的所有内容
var modifiedValue=$div.html().replace(新的RegExp(underlineMe,'g'),“”+underlineMe+“”);
//更新DOM中的值
$div.html(modifiedValue)代码>
。下划线{
文字装饰:下划线;
}
废话废话,我是包含好医生的文本,我想在它下面加下划线。哦,好医生可能会出现多次。
var str=$('.rrname').text();
$(“.entry content”).text(函数(){
$(“.entry content”).html($(this.text().replace(str,“+str+”);
});
删除.rrname中html标记之间的任何额外空格 不能将样式应用于文字字符串。必须将其应用于作为该文本父级的dom节点。因此,如果在css()
之前去掉text()
部分,您应该会看到样式出现。另外,您不需要显式的each()
css()
将对其结果堆栈中的元素执行隐式each。好的,如果我不能将其应用于文本字符串。如何找到这个字符串,附加到它,最后修改字符串?另一个答案更好。使用正则表达式。你的方法对我来说很有效,但它会以某种方式删除所有的标记。但我没能找到第一种方法。我现在正在尝试。好吧,你可以在回显之前在php中正则化你的get the_content(),完全避免使用javascript。类似于echo str_replace(‘好医生’、‘好医生’、获取内容)
。您的方法也非常有效,但它也删除了所有的标签。如何避免这种情况?不!谢谢这是我的错误,因为“;”。剩下的唯一问题是如何省略div中的标记。
var str = $('.rrname').text();
$(".entry-content").text(function () {
$(".entry-content").html($(this).text().replace(str, '<span class="underline">'+str+'</span>'));
});