javascript - 如何获取 <td> 元素内文本输入的值(不使用 JQuery)?

标签 javascript html

如何获取元素内文本输入的值?

我有多个 id,所以我首先将它们的字符串分配到一个数组中;

var itemArray = ["regpay", "overtime","absent","nightdiff","ctpa","salary","hdmf","otallowance","others"];

我使用 for 循环实例化了它们

for (var i = 0; i < itemArray.length; i++)
{
    var e = $("<td><input type=\"text\" autocomplete=\"off\" name=\""+itemArray[i]+"\" id=\""+itemArray[i]+"\"/></td>");
    var mytest =e.find('#'+itemArray[i]).val();
    alert(mytest);
}

错误提示“$未定义”; 如何获取 td 元素内文本框的值

我也尝试过使用:

try
{
    var Row = document.getElementById(itemArray[i]);
    var Cell = Row.getElementsByTagName("td");
    var val = Cell.getElementById(itemArray[i]);
}

但是 val 变量不返回任何内容,因此我假设 td 没有显式获取其中文本框的值。

最佳答案

如果您已有 #ids 的列表,那么您所要做的就是使用 document.getElementById query selector :

var ids = [ "regpay", "overtime","absent", "nightdiff", "ctpa", "salary",
            "hdmf", "otallowance", "others"];
var r = [];

ids.forEach(function (id) {
  r.push(document.getElementById(id).innerHTML);
})

alert("text found:" + r);
<p id='regpay'>0</p>
<p id='overtime'>1</p>
<p id='absent'>2</p>
<p id='nightdiff'>3</p>
<p id='ctpa'>4</p>
<p id='salary'>5</p>
<p id='hdmf'>6</p>
<p id='otallowance'>7</p>
<p id='others'>8</p>

(我在这里使用了 <p >,因为我不想制作整个表格结构,但上面的代码也适用于 <td> 。如果上面的 id 引用输入框,则应该使用document.getElementById(id).value 相反。您的问题在这方面不清楚。)

关于javascript - 如何获取 <td> 元素内文本输入的值(不使用 JQuery)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28144549/

相关文章:

Javascript 函数无法正常工作的问题(它将分数转换为小数)

javascript - pdf.js 不适用于 &lt;!DOCTYPE HTML>

javascript - 带按钮的幻灯片图像

javascript - 在 AngularJS 中使用 ng-repeat 的动态类

javascript - 在 Canvas 上分层矩形会导致不透明度增加

javascript - 带有下拉列表的 Asp.net 动态 gridview

javascript - 属性 onclick ="function()"未按预期运行?

javascript - AngularJS 思考 - 在 AJAX 请求中修改 DOM 的正确方法是什么?

javascript - 如何让第二个 div 始终与第一个 div 具有相同的高度?

javascript - 通过Jquery获取html元素的文本