如何设置一个单词的样式与字母#?

时间:2015-08-22 12:11:26

标签: javascript css hashtag

我正在我的网站上创建一个标签系统,我想将CSS附加到以字母哈希(#)开头的单词。谁能告诉我怎么做?

3 个答案:

答案 0 :(得分:2)

您只能将样式附加到DOMElements。根据您的使用情况,您需要使用javascript,php或其他语言来查找以#开头的单词并将其包装在带有类的元素中。

packages.json

然后,您可以使用该类为此标记添加样式。

答案 1 :(得分:1)

也许您可以使用twitter文本库来解析文本并找到主题标签:

请参阅https://github.com/twitter/twitter-text

答案 2 :(得分:0)

回答我自己的问题,可以通过以下方式完成:

HTML:

{
    "courseCode" : "CASE4",    
    "moduleCodes" : [ "CareersService" ],
    "moduleDescription" : "Careers Svs. slots in ALL Year 4s",    
    "startTime" : 1474286400000,     
    "endTime" : 1474290000000,  
    "locations" : [ "GLA.XG21", "GLA.Q119" ],        
    "type" : "SEMINAR"   
}

JavaScript和jQuery:

<p>
  #Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repudiandae aliquam, aut quod provident in incidunt quisquam perferendis aperiam ullam #quos ab ad cumque, doloremque repellat reiciendis modi sit consequuntur aliquid!
</p>

和一些Css:

"use strict";
var allNodes,body,currentElement,currentElementString,split,splitWord,splitWord,splitLetters,stringMatch,newTag,i;

allNodes = document.body.getElementsByTagName("*");

for (i=0;i< allNodes.length;i++) {
  currentElement = allNodes[i];
  currentElementString = currentElement.innerHTML;
  split =  currentElementString.split(' ');
  for (i=0;i< split.length;i++) {
    splitWord = split[i];
    splitLetters = splitWord.split("");
    stringMatch = splitWord.match(/#/g);
    if (stringMatch == "#") {
      newTag = "<a>"+splitWord+"</a>"; 
      currentElementString = currentElementString.replace(splitWord,newTag);
      currentElement.innerHTMl = currentElementString;
      $(currentElement).html(currentElementString); 
    } 
  }
}