2014-12-02 5 views
0

У меня есть файл ASPX, как есть HTML, как показано ниже:как получить значение TD таблицы с помощью JavaScript

enter image description here

Я хочу, чтобы получить значение 37.23961 (как показано выше).

Как получить это значение (td с iindex 6 таблицы gridview2) с помощью javascript?

MyHTML:

<table rules="all" id="GridView2" style="width:542px;border-collapse:collapse;" border="1" cellspacing="0"> 
    <tbody> 
    <tr> 
     <th scope="col">hname</th> 
     <th scope="col">haddress</th> 
     <th scope="col">hphone</th> 
     <th scope="col">hhours</th> 
     <th scope="col">hrating</th> 
     <th scope="col">hlat</th> 
     <th scope="col">hlong</th> 
    </tr> 
    <tr> 
     <td>Kaiser Permanante</td> 
     <td>200 Fremont boulevard</td> 
     <td>5105199000</td> 
     <td>Mon-Fri : 8:00 AM - 11:00 PM, Sat, Sun: 10:00 AM- 6:00PM</td> 
     <td>3</td> 
     <td>37.23961</td> 
     <td>-121.800278</td> 
    </tr> 
</tbody> 
</table> 
+0

Можете ли вы скопировать и вставить ваш HTML таким образом мы можем манипулировать Это? –

+0

Является ли значение всегда в 6-м столбце второй строки таблицы? – Heskja

+0

'предупреждение (document.getElementById ("GridView2"). GetElementsByTagName ("тд") [5] .innerHTML)' попробовать этот – Girish

ответ

0

Используйте это:

document.getElementsByTagName("td")[6] 

В принципе, вы получаете все элементы с именем тега «тд», и скобки на конце указать, какой элемент выберите.

Надеется, что это помогает;)

1

проверки с помощью этого кода с помощью jquery.if можно обеспечить jsfiddle.

$('#GridView2').find('td:eq(6)').html(); 

jsfiddle

+0

Это не вопрос jQuery. –

+1

Я предложил использовать jquery. что делает код простым в один шаг. –

+0

@RahulDesai прочитал мой ответ. –

0

Вы должны получить содержимое HTML 6-го элемента в разметке, которая может быть сделана следующим образом

document.getElementsByTagName("td")[6].innerHTML 
0

Do дает ID вашему TDs, если вы генерируют таблицу, вы можете указать идентификаторы индекса.

For example : 
for(var i=0;i<rows;i++) 
{ 
tableCells = tablesCells + "<td id=td" + i + ">"+data[i] + "</td>"; 
} 

Затем вы можете определить, какой индекс стоимости вам нужны, и использовать следующие методы, чтобы получить значения

var tdElem = document.getElementById ("td" +id); 
var tdText = tdElem.innerHTML; 
OR 


$("#td"+id).html(); 
+0

Sry У меня есть знание nil о jquery Я получаю ошибку synatx в 'in' для строки в JQuery –

+0

вы можете использовать javascript, приведенный выше синтаксис – RickDavis

0

Если вы хотите использовать JavaScript, то document.querySelectorAll(css selector) вашего варианта. Получить весь элемент td, который является шестым дочерним элементом его родителя:

var tds = document.querySelectorAll("#GridView2 td:nth-child(6)"); 

Чтобы получить текст, вы можете его закодировать.

for (var i = 0, len = tds.length; i < len; i++) { 
    alert(tds[i].textContent || tds[i].innerText); 
} 
0

Первый доступ соответствующий tr и в том, что доступ к соответствующему td. Извлекает отрывок ниже:

var tr = document.getElementsByTagName("tr")[1]; 
 

 
var td = tr.getElementsByTagName("td")[5]; 
 

 
var td_text = td.innerHTML; // here is "37.23961" 
 

 
document.getElementById("fetched").innerHTML = td_text;
#fetched{ 
 
    font-weight: bold; 
 
}
<table rules="all" id="GridView2" style="width:542px;border-collapse:collapse;" border="1" cellspacing="0"> 
 
    <tbody> 
 
    <tr> 
 
     <th scope="col">hname</th> 
 
     <th scope="col">haddress</th> 
 
     <th scope="col">hphone</th> 
 
     <th scope="col">hhours</th> 
 
     <th scope="col">hrating</th> 
 
     <th scope="col">hlat</th> 
 
     <th scope="col">hlong</th> 
 
    </tr> 
 
    <tr> 
 
     <td>Kaiser Permanante</td> 
 
     <td>200 Fremont boulevard</td> 
 
     <td>5105199000</td> 
 
     <td>Mon-Fri : 8:00 AM - 11:00 PM, Sat, Sun: 10:00 AM- 6:00PM</td> 
 
     <td>3</td> 
 
     <td>37.23961</td> 
 
     <td>-121.800278</td> 
 
    </tr> 
 
    </tbody> 
 
</table> 
 

 
<label>Fetched TD content: </label><span id="fetched"></span>

+0

Я использую скриптовые теги в aspx-файле. Должен ли я использовать что-то вроде <% - <% = <%, чтобы запустить скрипт или что-то еще? : -/ –

+0

@MonicaThaneer Я никогда не работал с ASPX, но вы можете посмотреть официальную документацию об этом: [Использование JavaScript Наряду с ASP.NET] (http://msdn.microsoft.com/en-us/library/ aa479011.aspx) –

+0

@MonicaThaneer Пожалуйста, отметьте этот ответ как принятый, если он решил вашу проблему. –

0

Было бы проще, если бы использовать JQuery.Но, как у вас есть конкретный индекс и структура таблицы фиксировано вы можете иметь вашу работу просто с помощью вложенной .getelementsbytagname()

JavaScript:

alert(document.getElementById("GridView2") 
    .getElementsByTagName("tbody")[0] 
    .getElementsByTagName("tr")[1] 
    .getElementsByTagName("td")[5] 
    .innerHTML); 

JQuery

Если вы предпочитаете jQuery, вы можете взглянуть,

$("#GridView2 tbody tr:nth-child(2) td:nth-child(6)").html(); 

javaScript/jQuery

0

Вы можете получить значение с помощью

var gridTable = document.getElementById("GridView2"); 
if(gridTable && gridTable.rows[1].cells[5]){ 
     var result=gridTable.rows[1].cells[5].innerText; 
} 

Если вы хотите, фактическое значение с плавающей точкой, а не строки, то вы можете разобрать его.

parseFloat(result); 

Если вы хотите, чтобы получить все 6-значение столбца в Роу, Вы можете передать этот codepen: http://codepen.io/bhuvana/pen/OPyjWw

0

function myData(){ 
 
x = document.getElementById("GridView2").rows.length; 
 

 
for(i=1;i<x;i++){ 
 
\t var tr = document.getElementsByTagName("tr")[i]; 
 
\t var tdl = tr.getElementsByTagName("td").length; 
 
\t 
 
\t for(j=0;j<tdl;j++){ 
 
\t \t var td = tr.getElementsByTagName("td")[j]; 
 
    alert(td.innerHTML); 
 
\t } 
 
} 
 
}
<table rules="all" id="GridView2" style="width:542px;border-collapse:collapse;" border="1" cellspacing="0"> 
 
    <tbody> 
 
    <tr> 
 
     <th scope="col">hname</th> 
 
     <th scope="col">haddress</th> 
 
     <th scope="col">hphone</th> 
 
     <th scope="col">hhours</th> 
 
     <th scope="col">hrating</th> 
 
     <th scope="col">hlat</th> 
 
     <th scope="col">hlong</th> 
 
    </tr> 
 
    <tr> 
 
     <td>Kaiser Permanante</td> 
 
     <td>200 Fremont boulevard</td> 
 
     <td>5105199000</td> 
 
     <td>Mon-Fri : 8:00 AM - 11:00 PM, Sat, Sun: 10:00 AM- 6:00PM</td> 
 
     <td>3</td> 
 
     <td>37.23961</td> 
 
     <td>-121.800278</td> 
 
    </tr> 
 
</tbody> 
 
</table> 
 
<button onclick="myData()">click</button>

Смежные вопросы