有没有办法用 javascript 隐藏页面上的所有主题标签?
例如,我正在制作的网站上的每个帖子下方都有一个标签云。每个标签看起来像:#myhashtag
我希望javascript(可能是css?)在文档中运行并隐藏“#”,以便标签最终看起来像:myhashtag
这可能吗?
有没有办法用 javascript 隐藏页面上的所有主题标签?
例如,我正在制作的网站上的每个帖子下方都有一个标签云。每个标签看起来像:#myhashtag
我希望javascript(可能是css?)在文档中运行并隐藏“#”,以便标签最终看起来像:myhashtag
这可能吗?
让哈希标签成为具有特定类的元素。(如果您有其他识别标记,只需相应地编辑 CSS 选择器。)超过 8 行的 jQuery 应该可以解决问题:
$('.my-hash-tag').each(function(i, elem) {
var $elem = $(elem), text = $elem.text();
if(text.length > 0 && text.charAt(0) == '#') {
$elem.text(text.substring(1));
}
});
var doc = document.body;
doc.innerHTML = doc.innerHTML.replace(/(\B)#(\w+)\b/g, '$2');
这将完成这项工作,评论解释了它是如何工作的。目前它假设标签位于锚点内和带有 id 的 div 内,#cloud
但这很容易编辑,只需使用不同的元素选择器,概念保持不变。
var tagCloud = document.getElementById("cloud"); // Get tag cloud element
var tags = tagCloud.getElementsByTagName('a'); // Find all anchors within cloud (If they aren't anchors change this to containing elements or replace with a class search .etc
for (var i=0, max=tags.length; i < max; i++) { // Loop through tags
tags[i].innerHTML = tags[i].innerHTML.replace("#", ""); // Remove #'s
}
工作小提琴:http: //jsfiddle.net/3ayhA/1/