访问文本标签值Javascript
目前,我有一块java脚本,它会生成一个单元格表,其中每个单元格都有一个有序的数字列表,一个标签和一个文本框。这段代码片段如下:访问文本标签值Javascript
<table id="drawAllQuestionsTbl">
<tbody><tr><td class="tbl">
<ol start="1">
<li>Sport 1: <input type="text" name="tq_g_0_guess" size="15"></li></ol></td></tr><tr><td class="tbl">
为简洁起见,我削减了很多额外的东西。实际上,这个表格大约有10个这个单元格的副本,每个单元格都有一个带有标签和文本框的有序列表。例如,对于此有序列表中的文本框,我可以使用document.getElementsByName("tq_g_0_guess")
成功访问其值。但是,我的问题是如何获得此文本框旁边的标签“Sport 1”的价值。有任何想法吗?
以下将给出li
节点的文字。这将是Sport 1:
。
var elParent = document.getElementsByName("tq_g_0_guess")[0].parentNode;
var labelText = elParent.innerText;
console.log(labelText); // Sport 1:
您可以利用labelText
进一步将文本格式化为所需的结果。
如果只想Sport 1
,那么你可以将一切都串起来结肠
labelText.substr(0, labelText.indexOf(':'));
工程出色!非常感激。 – user1939991
什么:
document.getElementsByName("tq_g_0_guess")[0].parentNode.innerText
谢谢你的回答! – user1939991
当然,祝你好运。 – Collin
写在JavaScript:
var child = document.getElementsByName("tq_g_0_guess")[0]; // ok, must add a [0] after this.
var preTextNode = child.previousSibling;
var textContent = preTextNode.textContent; // this is the text you want.
待办事项你可以控制输出的HTML吗?如果它在一个实际的'label'标签中,那么它会容易得多。 – Seth
我希望,但不幸的是我没有。我正试图从网页上去除这些内容。 – user1939991
您担心哪些版本的IE? – Seth