什么是错误的我的逻辑提取表单元格的内部文本
What is wrong with my logic for extracting the inner text of table cells?
我试图使一个过程的工作原理如下:
<tbody id="slide-table-body">
<tr>
<td>
pic1.jpg
</td>
<td>
pic2.jpg
</td>
</tr>
<tr>
<td>
pic3.jpg
</td>
<td>
pic4.jpg
</td>
</tr>
<tr>
<td>
pic5.jpg
</td>
<td>
pic6.jpg
</td>
</tr>
</tbody>
------------------------------------->
[ { assetPreviewUrl: "pic1.jpg", assetUrl: "pic2.jpg" },
{ assetPreviewUrl: "pic3.jpg", assetUrl: "pic4.jpg" },
{ assetPreviewUrl: "pic5.jpg", assetUrl: "pic6.jpg" } ]
我可以用更严格的术语来描述,但我认为你明白了:基本上,它解析单元格的内部文本并将结果存储为JSON。
我运行这个过程的函数如下,它不起作用。
parseSlides = function ( )
{
var slidesArr = [];
$('#slide-table-body').children().each(function() { // each row
slidesArr.push(
{
assetPreviewUrl : $(this).first().text(), // first cell's text
assetUrl : $(this).last().text() // second/last cell's text
}
);
});
return slidesArr;
}
输出像
[ { assetPreviewUrl: "pic1.jpgpic2.jpg", assetUrl: "pic1.jpgpic2.jpg" },
{ assetPreviewUrl: "pic3.jpgpic4.jpg", assetUrl: "pic3.jpgpic4.jpg" },
{ assetPreviewUrl: "pic5.jpgpic6.jpg", assetUrl: "pic5.jpgpic6.jpg" } ]
我做错了什么?
编辑:谢谢你的回答。我将随机选择谁作为最佳答案:
var answerers = [ "BG101", "Skylord123", "Igor" ];
console.log(answerers[Math.floor(Math.random() * answerers.length)]); // printed "Skylord123"
不使用first()
和last()
的JQuery函数,而是使用children('td:first')
和children('td:last')
。
当你在this
上运行first()
时,你正在抓取列表中的第一个项目,在这种情况下是this
。你没有得到第一个子元素。使用children()
函数和选择器将从this
中获取子元素。
我测试了这个,它工作。所以修改你的代码为:
parseSlides = function ( )
{
var slidesArr = [];
$('#slide-table-body').children().each(function() { // each row
slidesArr.push(
{
assetPreviewUrl : $(this).children('td:first').text(), // first cell's text
assetUrl : $(this).children('td:last').text() // second/last cell's text
}
);
});
return slidesArr;
}
jQuery。first -将匹配的元素集合缩减为集合中的第一个元素。
不获取第一个子元素。
对于$(this).first().text()
和$(this).last().text()
,您两次都得到行innerText
。
试试这个:-
parseSlides = function ( )
{
var slidesArr = [];
$('#slide-table-body').children().each(function() { // each row
slidesArr.push(
{
assetPreviewUrl : $(this).children().first().text(), // first cell's text
assetUrl : $(this).children().last().text() // second/last cell's text
}
);
});
return slidesArr;
}
相关文章:
- 如何在单击单元格中的链接值时动态更改表行背景色
- 将JS封装到GWT单元格表中
- 谷歌工作表中的按钮,当单击时,会更改特定单元格的背景
- 通过单击引导表单元格选中复选框
- 在javascript中第一次单击行时获取表单元格值
- 获取HTML表中单击的列中第一个单元格和单击的行中第一个单元的内容
- 谷歌应用程序将电子邮件表单脚本转换为PDF格式,但希望清除一些单元格
- 在没有jQuery的JavaScript中查找单击的表单元格的行和列
- 单击表格单元格或单击图像本身时翻转图像
- 向动态创建的表中的单元格添加单击函数 - JavaScript
- 如何使用jQuery使表格中的每个单元格可单击
- JQuery或Javascript获得标签文本在表格单元格与单选按钮和标签的组合
- 如何在Meteor中为带有输入单元格表的表单做响应式绑定?
- 如何获得骨干事件的单元格视图单击
- Javascript隐藏表格单元格按钮单击
- 更改jQuery单元格表值
- 如何使单元格可单击并返回值
- 剑道网格文本选择在单元格/表内与多选启用
- 在td -访问下一个单元格中单击
- 打开一个表单后点击更多的单元格表(jquery/php)