Javascript 获取标记后和标记中的内部数字
有一些内容Javascript 获取标记后和标记中的内部数字,javascript,jquery,Javascript,Jquery,有一些内容 <p class="someclass"> slerert укенукен werwert wert <br> 1. вапр апоц вкен 8 ролгшщ 9 ар<br> 3. ап 7 варер прпрпр<br> ... </p> 是否可以更改紧跟其后且不接触其他数字的数字样式? 我们可以选择类似$p.someclass br的内容,但如何获取以下数字以更改其样式?这可
<p class="someclass">
slerert укенукен werwert wert <br>
1. вапр апоц вкен 8 ролгшщ 9 ар<br>
3. ап 7 варер прпрпр<br>
...
</p>
是否可以更改紧跟其后且不接触其他数字的数字样式?
我们可以选择类似$p.someclass br的内容,但如何获取以下数字以更改其样式?这可能不是最好的方法。但这可能有助于: var htmlSplits=$.someclass.html.split; var modifiedSplits=htmlSplits.mapfunction split{ var str=split.replace/\\n/g.trim; console.log str; var regex=/^\d/; var matches=str.matchregex; 如果匹配 返回str.replace matches[0],+matches[0]+; 其他的 返回str; };//弗雷奇 var updatedHTML=modifiedSplits.join; $updated-text.html updatedHTML;
斯莱雷特·韦特·韦特·韦特 1.вапр апоц вкен 8 ролгшщ 9 ар 3.ап 7 варер прпрпр
好吧,您可以解析html,然后替换您想要的内容。。。但是它很难看 var text=$'.someclass'.html; text=text.replace/^\s*\d\./gm,$1 $'.someclass'.htmltext;
斯莱雷特·韦特·韦特·韦特 1.вапр апоц вкен 8 ролгшщ 9 ар 3.ап 7 варер прпрпр
您可以使用一个简单的正则表达式。通过document.querySelector查询段落 然后搜索与后跟一个点的数字匹配的所有实例。这个的正则表达式是/\d+\./g \d表示0和9之间的数字 \+将匹配一个或多个数字 \.必须在正则表达式中转义句点 我们将简单地使用replace方法来替换这些实例,并将它们包装在标记中以使其加粗 VAR PAR=文件。 var数=PAR。 对于var i=0;i
斯莱雷特·韦特·韦特·韦特 1.вапр апоц вкен 8 ролгшщ 9 ар 3.ап 7 варер прпрпр
您只需获取前面带小数的数字,然后将其更改为1美元:
你能解释一下改变它的风格意味着什么吗?请提供一个您尝试过的内容和所需输出的示例。@billynoah例如,转换1。放入1。如果你放入1。这可能会有所帮助。做事有好的方法,也有坏的方法。derloopcat试图通过询问您是否有权访问标记来帮助您以良好的方式做事。如果你不这样做,那么试图解析这个前端是可能的,但是,这不是我建议使用CSS和SPAN标签来对文本进行括号的最好方式,而不是使用JavaScript和JQueRE。这会管用的,但你为什么要这样做我不能imagine@McHat你是说我用了更长的时间来替换数字?实际上我对正则表达式不是很好,所以,用这种方法解决了它。上面的Patrick以非常简洁的方式实现了解决方案。不,我的意思是正确的答案是修复标记。用这种方式进行破解是肮脏、丑陋和错误的。它确实回答了他最初的问题,尽管你是对的@McHat。但他可能是从某个服务器以这种格式获取html,而它可能无法控制它。谢谢:我要承认一些事情。这不是一个理想的正则表达式。因为它不匹配以数字后跟点开头的行。我尝试了类似/^\s?\d+\./gm的方法,但它说无法读取未定义的属性长度。有人能帮我改进一下这个规则吗?我投他的票。这是一个比我的答案更好的答案,因为它能找到以数字开头,后跟点的行。
var p = $('.someclass').html();
p = p.replace(/([0-9]\.)/g, "<b>$1</b>");
$('.someclass').html(p);