2014-02-27 30 views
0

對於我的應用程序非常重要的目的,我在UIWebView的HTML表格中顯示文本內容。這裏是什麼的設置是這樣一個例子:是否可以作爲單個HTML元素訪問HTML表格的一列?

<table width = "100%"> 
    <tbody> 
      <tr>//Row 1 
       <td> 
        Here is the text of the first row of the table, first cell in the row 
       </td> 
       <td> 
        Here is the text of the first row of the table, second cell in the row 
       </td> 
      </tr> 
      <tr>//Row 2 
       <td> 
        Here is the text of the second row of the table, first cell in the row 
       </td> 
       <td> 
        Here is the text of the second row of the table, second cell in the row 
       </td> 
      </tr> 
    </tbody> 
</table> 

如果我選擇一些在這些行之一的文字,它不是很難得到父元素,並得到該選擇的範圍相對於那一行中的整個句子。例如,如果我選擇第二行的文本「Here」,則該文本相對於該行的範圍爲0-3。

我想知道是否有可能使得元件的長度不只是我選擇的行中的句子表的行合併(列的基礎上),而且還包括所有其他行。

換句話說,我需要獲取所選文本範圍(開始,結束)相對於表中的所有行,而不僅僅是所選文本的行。例如,如果我們保持選擇相同的單詞,但在整個表格的內容中查看它,範圍將不再是0-3,它會是59-63之類的東西,因爲我們也包括它上面的行以及它的內容。有效地將整個列視爲HTML元素。

這可能嗎?

+1

mhhhh,現在怎麼辦? – lexith

+0

對不起,我會試着澄清一點。 – Lizza

+0

示例表只有一列。或者「列」是什麼意思? –

回答

1

你八九不離十可以通過使用jQuery的能力字符串的所有調用一起

$('tr td:first-of-type').text() 

http://jsfiddle.net/gNvnp/1/

並沒有jQuery的(在現代瀏覽器)

// no jquery 
var combineCols = function(selector) { 
    var cols = document.querySelectorAll(selector); 
    var len = cols.length; 
    var str = ''; 
    while (len--) { 
    str = cols[len].innerText + ' ' + str; 
    } 
    return str; 
} 

http://jsfiddle.net/gNvnp/3/

+0

有趣!看起來很有希望。到目前爲止,我剛剛使用純JS,對於JS來說,有沒有相當的東西? – Lizza

+0

那麼,你仍然可以使用相同的querySelectorAll選擇器,然後自己遍歷匹配的元素。這樣做可能更容易,因此您可以添加必要的間距。 –

+0

我還沒有對JS超級銳利,你能解釋一下你指的是哪一個querySelectorAll?謝謝! – Lizza

相關問題