亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript 一次替換文本中的多個字符

JavaScript 一次替換文本中的多個字符

翻翻過去那場雪 2023-12-14 15:22:43
我有一個表格,我試圖根據表格中的值對其進行著色。因此,如果表中的值為 150%,則單元格將變為紅色。如果表中的值為 50%,則該值將顯示為綠色。但是,由于某種原因,表中的實際文本內部有大量空格以及 % 符號。如何用空字符 ('') 替換任何空格和 '%' 字符?這是我所擁有的不起作用的:<script type="text/javascript">        $(document).ready(function () {            $('#myTable td.PercentMem').each(function () {                if ($(this).text().replace(/\s/g, '').replace('%', '') >= '100') {                    $(this).css('background-color', '#ff0000');                }                else {                    $(this).css('background-color', '#33cc33');                }            });        });    </script>謝謝你!編輯我很笨。我忘記了這些百分比有小數點這一事實。所以,我真正處理的是類似“50.89%”的東西,到目前為止提供的解決方案將其轉換為“5089”。如何保留小數?
查看完整描述

2 回答

?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

您需要刪除所有非數字字符并將結果字符串轉換為 int。所以像這樣parseInt($(this).text().replace(/\D/g,'')):另外,在您的帖子中,您正在與 string 進行比較'100',這顯然應該是一個數字。嘗試這個:


        $(document).ready(function () {

            $('#myTable td.PercentMem').each(function () {

                if (parseInt($(this).text().replace(/\D/g,'')) >= 100) {

                    $(this).css('background-color', '#ff0000');

                }

                else {

                    $(this).css('background-color', '#33cc33');

                }

            });

        });


免責聲明:我還沒有實際測試過這個,但這應該有效。


查看完整回答
反對 回復 2023-12-14
?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

你可以用這個來實現,避免使用 jQuery 來選擇元素,使用純 JavaScript:


const myCells = document.querySelectorAll('.PercentMem');


myCells.forEach(cell => {

  const cellValue = cell.textContent.replace(/\D+/g, '');

        

  cell.classList.toggle(parseInt(cellValue) >= 100 ? 'red' : 'green');

});

這是包含所有代碼的完整小提琴手。


查看完整回答
反對 回復 2023-12-14
  • 2 回答
  • 0 關注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號