我有4个<SPAN>
,其中3个在动态网格视图中隐藏(display:none
)
<tr>
<SPAN id="Span1">Name</SPAN>
<SPAN id="Span2" style="display:none"></SPAN>
Id1<SPAN id="Span3" style="display:none">Id2</SPAN>
<SPAN id="Span3" style="display:none">Id3</SPAN>
</td>
我怎么能得到那些文字?我将该元素设置为[object HtmlSpanElement]
。我用innerHtml
&amp; innerText
,但结果为undefined
。
答案 0 :(得分:2)
根据海报的要求,并感谢V4Vendetta
获取无文本内容的代码是:
var content = span.innerText || span.textContent;
这是有效的,因为(通常)那些不支持innerText
的浏览器支持textContent
。 quirksmode has more detail
答案 1 :(得分:0)
使用JQuery,这将获得值:
$(function() {
$('tr span').each(function() {
alert($(this).text());
});
});
这是example
答案 2 :(得分:0)
使用:
var str = document.getElementById('span1').value;
答案 3 :(得分:0)
某些浏览器(Firefox)不支持innerText
,并且在这种情况下会返回undefined Read This
另一种方法是检查textContent
,但在IE中不支持
所以我建议你尝试innerHTML
而不是innerHtml
(你必须小心),这应该适用于所有的浏览器。
答案 4 :(得分:0)
为您的跨度提供属性runat="server"
,并在CodeBehind中访问它们,如Span1.InnerHtml,Span2.InnerHtml,Span3.InnerHtml等。或者,考虑到从GridView获取值((HtmlGenericControl)grid.rows[x].cells[y].FindControl("yourSpanId")).InnerHtml
。
答案 5 :(得分:0)
<script language="javascript" type="text/javascript">
function MyFunction(){
var gridview = document.getElementById('ctl00_ContentPlaceHolder1_gvmanageclients');
var rCount = gridview.rows.length;
alert(gridview.rows.length);
var rowIndex=1;
for (rowIndex; rowIndex<=rCount-1; rowIndex++)
{
var rowElement = gridview.rows[rowIndex];
Cell = gridview.rows[rowIndex].cells[0];
FirstControl = Cell.childNodes[0];
alert(FirstControl.innerHTML);
}
}
</script>