[英]Find a character and then insert HTML tag before it with jQuery
我有一些使用此标记显示的文本,很遗憾我无法更改
<a class="bt" href="#url">Leadership in Education (29 Oct - 31 Oct 2014)</a>
我想在(之前添加一个<br />
,以便日期显示在新行上
我该怎么做?
这是我一直在尝试的方法,但不知道如何执行我想要实现的目标:
$("a:contains('(')").html(function () {
return $(this).html().replace(" (", "<br />(");
});
jQuery选择DOM元素。 一堆文本不是DOM元素,因此您需要将其视为字符串,然后使用string.replace(或regex)将BR插入所需的位置。
您可以使用jQuery选择包装元素。 其余的是字符串操作。
你不想为每个做a
网页上的元素,所以我建议你在下面选择的代码添加在适当情况下。
以下代码使用您的选择器,并将(
替换为<br>(
。非常简单。
$( "a:contains('(')" ).each(function() {
jQuery(this).html( jQuery(this).html().replace('(', '<br>(') );
});
您可以使用正则表达式用<br/>(
代替打开的括号。参见小提琴:
快速简便(此方法适用于页面上的所有锚点,只要每个锚点只有一个开放的括号即可...):
$( "a:contains('(')" ).css( "text-decoration", "underline" ).each(function(){
$(this).html($(this).html().replace("(","<br/>("));
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.