Javascript 避免为html标签元素中的相同hashtag使用空包装
我已经创建了自定义Javascript/JQuery代码来查找html标签中出现的字符串中的hashtag。我将突出显示这些hashtag并在其周围添加包装器。但是,如果相同的标签字符串显示在2个标签中,则会在标签前面添加一个奇怪的空包装,并显示在标签内容中。如何避免空包装,这是搜索hashtag字符串的好主意还是会导致站点加载速度加快 下面是我将hashtag拆分为字符串并在其周围添加包装器的代码:Javascript 避免为html标签元素中的相同hashtag使用空包装,javascript,jquery,html,css,jquery-ui,Javascript,Jquery,Html,Css,Jquery Ui,我已经创建了自定义Javascript/JQuery代码来查找html标签中出现的字符串中的hashtag。我将突出显示这些hashtag并在其周围添加包装器。但是,如果相同的标签字符串显示在2个标签中,则会在标签前面添加一个奇怪的空包装,并显示在标签内容中。如何避免空包装,这是搜索hashtag字符串的好主意还是会导致站点加载速度加快 下面是我将hashtag拆分为字符串并在其周围添加包装器的代码: $(document).ready(function(event){ $status_
$(document).ready(function(event){
$status_hash = $('.hashtag').text();
var tagslistarr = $status_hash.split(' ');
var arr=[];
$.each(tagslistarr,function(i,val){
if(tagslistarr[i].indexOf('#') == 0){
arr.push(tagslistarr[i]);
}
});
for($x=0; $x<=arr.length;$x++){
$(".hashtag:contains('"+arr[$x]+"')").html(function(_, html) {
return html.split(arr[$x]).join("<a href='#' class='smallcaps' style='text-decoration:none; background-color:rgba(113, 162, 252, 0.63); color:white; padding:2px 4px 2px 4px; border-radius:2px;'>"+arr[$x]+"</a>");
});
}
});
$(文档).ready(函数(事件){
$status_hash=$('.hashtag').text();
var tagslistar=$status\u hash.split(“”);
var-arr=[];
$。每个(tagslistarr,函数(i,val){
if(tagslistar[i].indexOf('#')==0){
arr.push(Tagslistar[i]);
}
});
对于($x=0;$x尝试
$(“.hashtag”).map(函数(i,el){
$(el).html(函数(\ux,html){
返回html.replace(/(#\w+)/g,函数(匹配){
返回“”
})
})
});
JSFIDLE
请参阅,试试看
$(".hashtag").map(function(i, el) {
$(el).html(function(_, html) {
return html.replace(/(#\w+)/g, function(match) {
return "<a href=# class=smallcaps "
+ "style=text-decoration:none;"
+ "background-color:rgba(113,162,252,0.63);"
+ "color:white;padding:2px 4px 2px 4px;"
+ "border-radius:2px;>" + match + "</a>"
})
})
});
$(“.hashtag”).map(函数(i,el){
$(el).html(函数(\ux,html){
返回html.replace(/(#\w+)/g,函数(匹配){
返回“”
})
})
});
JSFIDLE
请参阅,试试看
$(".hashtag").map(function(i, el) {
$(el).html(function(_, html) {
return html.replace(/(#\w+)/g, function(match) {
return "<a href=# class=smallcaps "
+ "style=text-decoration:none;"
+ "background-color:rgba(113,162,252,0.63);"
+ "color:white;padding:2px 4px 2px 4px;"
+ "border-radius:2px;>" + match + "</a>"
})
})
});
$(“.hashtag”).map(函数(i,el){
$(el).html(函数(\ux,html){
返回html.replace(/(#\w+)/g,函数(匹配){
返回“”
})
})
});
JSFIDLE
请参阅,试试看
$(".hashtag").map(function(i, el) {
$(el).html(function(_, html) {
return html.replace(/(#\w+)/g, function(match) {
return "<a href=# class=smallcaps "
+ "style=text-decoration:none;"
+ "background-color:rgba(113,162,252,0.63);"
+ "color:white;padding:2px 4px 2px 4px;"
+ "border-radius:2px;>" + match + "</a>"
})
})
});
$(“.hashtag”).map(函数(i,el){
$(el).html(函数(\ux,html){
返回html.replace(/(#\w+)/g,函数(匹配){
返回“”
})
})
});
JSFIDLE
请参阅,您可能不需要太多操作来完成这种包装或仅提取哈希标记
要获取哈希标记,可以使用以下一行程序:
var arr = $.grep( $('.hashtag').text().split(' '), function( v, i ) {
return v.charAt(0) === '#';
});
但是,如果您只想包装标签,那么下面是代码:
$(document).ready(function(event){
$('.hashtag').html(function(_,html) {
return html.replace(/(\#[a-z]+)/gi, function(x) {
return "<a href='#' class='smallcaps' style='text-decoration:none; background-color:rgba(113, 162, 252, 0.63); color:white; padding:2px 4px 2px 4px; border-radius:2px;'>" + x + "</a>";
});
});
});
$(文档).ready(函数(事件){
$('.hashtag').html(函数(\ux,html){
返回html.replace(/(\\\[a-z]+)/gi,函数(x){
返回“”;
});
});
});
您可能不需要太多操作来完成这种包装,或者只需要提取哈希标记
要获取哈希标记,可以使用以下一行程序:
var arr = $.grep( $('.hashtag').text().split(' '), function( v, i ) {
return v.charAt(0) === '#';
});
但是,如果您只想包装标签,那么下面是代码:
$(document).ready(function(event){
$('.hashtag').html(function(_,html) {
return html.replace(/(\#[a-z]+)/gi, function(x) {
return "<a href='#' class='smallcaps' style='text-decoration:none; background-color:rgba(113, 162, 252, 0.63); color:white; padding:2px 4px 2px 4px; border-radius:2px;'>" + x + "</a>";
});
});
});
$(文档).ready(函数(事件){
$('.hashtag').html(函数(\ux,html){
返回html.replace(/(\\\[a-z]+)/gi,函数(x){
返回“”;
});
});
});
您可能不需要太多操作来完成这种包装,或者只需要提取哈希标记
要获取哈希标记,可以使用以下一行程序:
var arr = $.grep( $('.hashtag').text().split(' '), function( v, i ) {
return v.charAt(0) === '#';
});
但是,如果您只想包装标签,那么下面是代码:
$(document).ready(function(event){
$('.hashtag').html(function(_,html) {
return html.replace(/(\#[a-z]+)/gi, function(x) {
return "<a href='#' class='smallcaps' style='text-decoration:none; background-color:rgba(113, 162, 252, 0.63); color:white; padding:2px 4px 2px 4px; border-radius:2px;'>" + x + "</a>";
});
});
});
$(文档).ready(函数(事件){
$('.hashtag').html(函数(\ux,html){
返回html.replace(/(\\\[a-z]+)/gi,函数(x){
返回“”;
});
});
});
您可能不需要太多操作来完成这种包装,或者只需要提取哈希标记
要获取哈希标记,可以使用以下一行程序:
var arr = $.grep( $('.hashtag').text().split(' '), function( v, i ) {
return v.charAt(0) === '#';
});
但是,如果您只想包装标签,那么下面是代码:
$(document).ready(function(event){
$('.hashtag').html(function(_,html) {
return html.replace(/(\#[a-z]+)/gi, function(x) {
return "<a href='#' class='smallcaps' style='text-decoration:none; background-color:rgba(113, 162, 252, 0.63); color:white; padding:2px 4px 2px 4px; border-radius:2px;'>" + x + "</a>";
});
});
});
$(文档).ready(函数(事件){
$('.hashtag').html(函数(\ux,html){
返回html.replace(/(\\\[a-z]+)/gi,函数(x){
返回“”;
});
});
});
…如果相同的标签字符串显示在两个标签中….!你是什么意思?你能给出一个例子吗?可以在问题中包含html
?是否要求将所有以#
开头的文本用a
元素包含
目标,或者#hastag
目标?彼得卡我在底部给出了JSFIDLE示例在代码片段中..@guest271314我正在使用CI,我想添加包装器,并在html标签元素中突出显示带有a
元素的hashtag元素。因此,我可以将a
元素目标交给我的控制器,以搜索特定的
标记文本。快速“清理”,而不尝试不附加元素?可以在原始帖子的jsfiddle中包含html
…如果两个标签中显示相同的hashtag字符串….!你是什么意思?你能举个例子吗?可以在问题中包含html
?是否要求将所有以开头的文本用a
元素包含#
target,或#hastag
target?@PeterKA我在代码段的底部给出了JSfiddle示例。@guest271314我正在使用CI,我想添加包装器,并在html标签
元素中突出显示带有a
元素的hashtag元素。因此,我可以给我的控制器一个a
元素目标来搜索特定的#
标记文本。快速“清理”,而不尝试不附加元素?可以在原始帖子的jsfiddle中包含html
…如果两个标签中显示相同的hashtag字符串….!你是什么意思?你能举个例子吗?可以在问题中包含html
?是否要求将所有以开头的文本用a
元素包含#
target,或#hastag
target?@PeterKA我在代码段的底部给出了JSfiddle示例。@guest271314我正在使用CI,我想添加包装器,并在html标签
元素中突出显示带有a
元素的hashtag元素。因此,我可以给我的控制器一个a
元素目标来搜索特定的#
标记文本。快速“清理”,而不尝试不附加元素?可以在原始帖子的jsfiddle中包含html
。…如果相同的标签字符串显示在两个标签中…!你的意思是什么?你能举个例子吗?可以在问题中包含html
?是否要求用a
包装所有以开头的文本