簡體   English   中英

jQuery完全匹配html表

[英]jquery exact match in html table

我將要編輯插件,並且jquery列表存在問題,該列表過濾並隱藏了table / html的某些元素。

$(document).ready(function(){
    $('tr').find('td:contains("1,0")').closest('tr').hide();
    $('tr').find('td:contains("1.0")').closest('tr').hide();
});

那就是我現在使用它的方式。 功能是我不想在行中的任何地方看到帶有“ 1,0”和“ 1.0”的行。 “ 1,0”或“ 1.0”周圍可以有任何內容。 例如“汽車1,0”或“紙張1.0”。

我的問題是,此代碼還隱藏了諸如“ paper 11.00”和“ cars 1,020”之類的行。 包含任何形式的“ 1.0”“ 1,0”的任何行。

誰能幫助我調整“過濾器”,以避免隱藏“ 11.00”或“ 1,020”?

使用.filter()td.text().match與正則表達式\\b1[.,]0\\b匹配1.01,0

 $(document).ready(function() { $('td') .filter(function() { return $(this).text().match(/\\b1[.,]0\\b/) }) .closest('tr') .hide(); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table> <tr> <td>1.0</td> </tr> <tr> <td>1,0</td> </tr> <tr> <td>1.01</td> </tr> <tr> <td>11.0</td> </tr> <tr> <td>var 1.0 bar</td> </tr> <tr> <td>var 1,0 bar</td> </tr> <tr> <td>1 . 0</td> </tr> </table> 

使用JQuery $.each()RegExp.prototype.test()函數的解決方案:

 $(document).ready(function(){ $('tr td').each(function(i, el){ if (/\\b(1\\.0|1,0)\\b/g.test($(el).text())) { $(el).closest('tr').hide(); } }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table border="1"> <tr><td>11.0</td></tr> <tr><td>cars 1,020</td></tr> <tr><td>1.0</td></tr> <tr><td>cars 1,0</td></tr> </table> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM