目前,我有一个java脚本,它创建一个单元格表,其中每个单元格都有一个有序列表,包括其编号,标签和文本框。这段代码的片段如下:
if ($_POST["Date"]=='Today') {
$d=strtotime("today");
} else {
$d=strtotime("yesterday");
}
$date = date('Y-m-d', $d);
?>
$mysqli->real_escape_string($date)
为了简洁起见,我削减了很多额外的东西。实际上,此表格中填充了此单元格的大约10个副本,其中每个单元格都有一个带有标签和文本框的有序列表。例如,对于此有序列表中的文本框,我可以使用<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">
成功访问其值。但是,我的问题是如何获得此文本框旁边的标签“Sport 1”的值。有什么想法吗?
答案 0 :(得分:2)
以下内容将为您提供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(':'));
答案 1 :(得分:1)
怎么样:
document.getElementsByName("tq_g_0_guess")[0].parentNode.innerText
答案 2 :(得分:1)
用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.