我有一些代码循环遍历表的每一行并创建一个 json 对象。行中的元素可以是以下之一:
<input type="text" id="myelem"/>
或者
<p id="myelem">foo</p>
请注意,id
两者的属性是相同的。这是因为在表格上有一个按钮Add a new Row
,当单击此按钮时,另一行会通过复选框添加到表格中。当用户提交表单时,复选框消失,他们输入的值变成<p id="myelem">value they entered</p>
下面是我为此使用的代码。
$('.input-row').each(function(index, row) {
var innerObject = {};
var key = $('#myelem', row).val().toUpperCase();
jsonObject[key] = "bar";
});
.val()
由于我正在使用该功能,以上内容适用于文本框。但是,如果它包含,我如何从行中获取数据<p id="myelem">foo</p>
?
我的伪代码是这样的:
$('.input-row').each(function(index, row) {
var innerObject = {};
/*
if #myelem is a text box then use .val()
if #myelem is a <p> tag then use .html()
*/
var key = $('#myelem', row).val().toUpperCase();
jsonObject[key] = "bar";
});