jQuery JS 如何改变页面上的数字

Posted mqy1023

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery JS 如何改变页面上的数字相关的知识,希望对你有一定的参考价值。

只需要在控制台上执行下面代码,就可改变页面上相应内容的值

一、高亮页面上的所有数字

(function hilightNumber(jqObj) 
    // 不能替换script标签里的数字
    var domObj = jqObj[0];
    if (domObj.nodeName == "SCRIPT") 
        return;
    
    // 如果标签里有标签,我们也不作替换,而是递归进去遍历内层的标签。
    var children = jqObj.children();
    if (children.length > 0) 
        for(var i=0; i<children.length; i++) 
            hilightNumber($(children[i]));
        
     else 
    // 标签里只有文字,没有内层标签的时候,才做替换,
    // 把123替换成带颜色的标签内包含123,就实现了高亮。
        var hilightedhtml = jqObj.html().replace(/([+\\-]?[0-9]+(\\.[0-9]+)?)/g, "<span style='background:yellow;'>$1</span>");
        jqObj.html(hilightedHtml);
    
)($("body"));

二、改变金额数字

23,233,23元 => 23,233,23 * 0.9 元

(function hilightNumber(jqObj) 

    var discount = 0.9

    // 不能替换script标签里的数字
    var domObj = jqObj[0];
    if (domObj.nodeName == "SCRIPT") 
        return;
    
    // 如果标签里有标签,我们也不作替换,而是递归进去遍历内层的标签。
    var children = jqObj.children();
    if (children.length > 0) 
        for(var i=0; i<children.length; i++) 
            hilightNumber($(children[i]));
        
     else 
    // 标签里只有文字,没有内层标签的时候,才做替换,
    // 把123替换成带颜色的标签内包含123,就实现了高亮。
        var hilightedHtml = jqObj.html().replace(/^(([1-9][0-9]0,2(,\\d3)*)|0)(\\.\\d1,2)元$/g, function(word)
          
          word = word.replace(',', "")
          word = word.replace('元', "")
          word = word.replace('.', "")
          word = parseInt(word * discount) + ""

          pointStr = word.substring(word.length-2)
          headNum = word.substring(0, word.length-2)
          headNum1 = headNum.replace(/(?=(?!(\\b))(\\d3)+$)/g, ",")
          
          return headNum1 + "." + pointStr + "元"
          
        );
        jqObj.html(hilightedHtml);
    
)($("body"));

以上是关于jQuery JS 如何改变页面上的数字的主要内容,如果未能解决你的问题,请参考以下文章

jQuery JS 如何高亮页面上的所有数字

jQuery Json数据格式排版高亮插件json-viewer.js的使用

使用 jQuery 实现当前页面高亮显示的通栏导航条

Jquery dataTable改变行颜色

有没有js、jquery插件或者flash插件,可以对图片进行多个区域的高亮显示(遮罩显示)?

jquery,iframe,如何在父窗口监听,子窗口发生改变时,父窗口获取子窗口的值