Только слова обернуть в span
Добрый день!
Есть таблица с ячейками. В ячейках есть просто слова и еще элементы. Подскажите, пожалуйста, как обернуть в span только слова в ячейках? <table> <tr> <td> Слово 1 <label> <input /> <div></div> </label> </td> <td> Слово 2 <label> <input /> <div></div> </label> </td> </tr> <tr> <td> Слово 3 <label> <input /> <div></div> </label> </td> <td> Слово 4 <label> <input /> <div></div> </label> </td> </tr> </table> |
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="Keywords" content="shit happens"> <meta name="description" content="gg"> <title>ГГ</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> <link rel="stylesheet" href="test.css"> </head> <body> <table> <tr> <td> Слово 1 <label> <input /> <div></div> </label> </td> <td> Слово 2 <label> <input /> <div></div> </label> </td> </tr> <tr> <td> Слово 3 <label> <input /> <div></div> </label> </td> <td> Слово 4 <label> <input /> <div></div> </label> </td> </tr> </table> <script> var el1 = document.querySelector('td:first-child').childNodes[0]; alert(el1.textContent); </script> </body> </html> |
Супер!
Спасибо огромное! |
Цитата:
<!DOCTYPE html> <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=windows-1251' /> <script src='http://code.jquery.com/jquery-latest.js'></script> <!-- <script src="https://code.angularjs.org/1.3.9/angular.min.js"></script> <script src="https://code.angularjs.org/1.3.9/angular-route.js"></script> <link rel='stylesheet type=text/css href=tmp.css' /> <link rel="stylesheet/less" type="text/css" href="style.less"> <script src="http://cdnjs.cloudflare.com/ajax/libs/less.js/2.5.0/less.min.js"></script> --> <style type='text/css'> </style> <script type='text/javascript'> $(function(){ $('td').each(function(){ var html=$(this).html(); html=html.replace(/(^[^<]*)/,'<span>$1</span>'); $(this).html(html); }); }); </script> </head> <body> <table> <tr> <td> Слово 1 <label> <input /> <div></div> </label> </td> <td> Слово 2 <label> <input /> <div></div> </label> </td> </tr> <tr> <td> Слово 3 <label> <input /> <div></div> </label> </td> <td> Слово 4 <label> <input /> <div></div> </label> </td> </tr> </table> </body> </html> |
Отлично, спасибо!
|
qwe88,
читать документацию ... там есть очень похожий пример. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src='http://code.jquery.com/jquery-latest.js'></script> <style type='text/css'> span{ background-image: -webkit-gradient(linear, left, right, color-stop(0, #5CC3FF), color-stop(1, #0060BF)); background-image: -o-linear-gradient(left, #5CC3FF, #0060BF); background-image: -moz-linear-gradient(left, #5CC3FF, #0060BF); background-image: -webkit-linear-gradient(left, #5CC3FF, #0060BF); background-image: linear-gradient(to right, #5CC3FF, #0060BF) } </style> <script type='text/javascript'> $(function(){ $('td').contents().filter(function() { return this.nodeType == 3 && /[^\s]/.test(this.nodeValue); }) .wrap('<span></span>') }); </script> </head> <body> <table> <tr> <td> Слово 1 <label> <input /> <div></div> </label> </td> <td> Слово 2 <label> <input /> <div></div> </label> </td> </tr> <tr> <td> Слово 3 <label> <input /> <div></div> </label> </td> <td> Слово 4 <label> <input /> <div></div> </label> </td> </tr> </table> </body> </html> |
Часовой пояс GMT +3, время: 18:02. |