2015-07-17 2 views
0

Я пытаюсь получить текст заголовка в массиве, однако со следующим я получаю значение плюс th tag i.e [<th>value1</th>, <th>value2</th>], я хочу получить [value1, value2].Получение значения TH в jQuery

$('#header').children().each(function(){this.html}); 

Вот как мой HTML выглядит следующим образом:

<tr bgcolor="#cdb79e" id="header"> 
    <th>Origin Code</th> 
    <th>Description</th> 
    <th>Notes</th> 
    <th>Domain</th> 
    <th>Tier</th> 
    <th>Engine</th> 
    <th>Network</th> 
    <th>Platform</th> 
    <th>Expansion Tool</th> 
    <th>Date</th> 
    <th>Imps</th> 
    <th>Clicks</th> 
    <th>Engine CTR</th> 
    <th>Average Position</th> 
    <th>Picks</th> 
    <th>LP CTR</th> 
    <th>GSL Picks</th> 
    <th>GSL LP CTR</th> 
    <th>Merchant Picks</th> 
    <th>Merchant LP CTR</th> 
    <th>CPC</th> 
    <th>RPC</th> 
    <th>RPP</th> 
    <th>Cost</th> 
    <th>Total Rev</th> 
    <th>Margin</th> 
    <th>ROI</th> 
</tr> 
+0

Вы можете разделить теги с помощью регулярных выражений, но это будет не очень красиво. Похоже, должна быть лучшая альтернатива. – Anders

+0

Как выглядит HTML-код? – Anders

+0

Вы можете использовать '$ (this) .html()' - см. Этот [JSFiddle] (https://jsfiddle.net/qof6ustx/). Метод 'html()' использует свойство 'innerHTML' и не должен возвращать внешние теги. – Anders

ответ

3

Если предположить, что HTML должны были выглядеть примерно так:

<table> 
    <thead> 
     <tr id='header'> 
      <th>Value1</th> 
      <th>Value2</th> 
     </tr> 
    </thead> 
</table> 

Вы могли бы использовать что-то вроде этого, чтобы создать массив текст статьи <th>:

var headerArray = []; 
$('#header').children().each(function(){ 
    headerArray.push($(this).text()); 
}); 
console.log(headerArray); 
+0

Работает как очарование! Спасибо – Kaunteya

+2

Вы также можете использовать 'map' вместо' each', он имеет более чистый синтаксис IMO. '$ ('# header'). children(). map (function() {return this.innerHTML;})' –

+0

[map] (http://api.jquery.com/map/) немного более уместен : '$ ('# header'). children(). map (function() {return $ (this) .text()}). get()' – zzzzBov