[英]How do I get all spans created in my HTML page using jQuery
我通过使用以下命令在HTML页面中获取所有输入文本:
var inputs = data.context.find(':input');
$('#result').text(JSON.stringify(inputs.serializeArray()));
然后,我有一个ID为每个输入文本的ID和值的JSON字符串。
我正在尝试做类似的事情,但跨度很大。 我的HTML档案中有这个:
<td class="name"><span>{%=file.name%}</span></td>
我可以根据需要设置任意多个<td class="name"> ...
标签。 因此,我必须获取所有参数的值,然后像上面输入文本一样将其转换为JSON字符串。
我该怎么做?
此代码段: $('.name span')
将返回一个对象数组,因此,为了从每个对象中获取文本,您需要将其作为数组运行:
$('.name span').each(function(index,val){
//do something with val
});
您可以在此处看到对此方法的参考。
简单的提琴: http : //jsfiddle.net/CMdBa/1/
遍历.name
(或在必要时指定更深的深度),构建数据结构(使用data
),然后将其转换为JSON。 工作示例: http : //jsfiddle.net/tLuPC/
如果您需要获得帖子中提到的id
则下面是模拟id
。 使用data-
属性存储信息。 否则,您只需获取name
。
var data = [],
jsonData = null;
$('.name').each(function () {
var item = $(this);
data.push({
id: item.data('id'),
name: $('span', item).text()
});
});
jsonData = JSON.stringify(data);
console.log(JSON.stringify(jsonData));
您可以使用map
函数来枚举和格式化集合。
var spanTextArray = $('td.name span').map(function(){
return $.trim(this.innerHTML);
}).get();
这将输出一个文件名数组,您可以轻松修改返回值以输出键值对数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.