Javascript 如何使用jQuery从SPAN元素中提取name属性?
我有一个HTML文件,我正在使用一个greasemonkey脚本,其中我使用了jQuery HTML页面很长,但我在整个页面中有许多Javascript 如何使用jQuery从SPAN元素中提取name属性?,javascript,jquery,html,greasemonkey,Javascript,Jquery,Html,Greasemonkey,我有一个HTML文件,我正在使用一个greasemonkey脚本,其中我使用了jQuery HTML页面很长,但我在整个页面中有许多元素 让我们假设元素如下所示: <span id="spnMX45" name="spnMX45" >16</span> <span id="spnMX46" name="spnMX46" >10</span> <span id="spnMX47" name="spnMX47" >11</span&g
元素
让我们假设元素如下所示:
<span id="spnMX45" name="spnMX45" >16</span>
<span id="spnMX46" name="spnMX46" >10</span>
<span id="spnMX47" name="spnMX47" >11</span>
<span id="spnMX48" name="spnMX48" >5</span>
我试过:
arr = [this.name];
arr = this.name;
arr = [this.attr('name')];
arr = this.Attr('name');
我就是不明白。是否无法获取范围属性?我对此表示怀疑,但我想不出这一点。我已经用几个不同的输入类型元素成功地完成了这项工作。我无法成功获取此对象的text()
,但我似乎无法获取该dang name,甚至id属性。使用以下方法:
atr = $(this).attr('name');
使用以下命令:
atr = $(this).attr('name');
“我需要从每个元素中获得两个值
“spnMX”后面的数字和跨度文本。“
元素不允许名称
属性顺便说一句
鉴于您的ID与每个姓名完全相同,您可以使用以下选项:
$("span[id^=spnMX]").each(function(){
var text = this.innerHTML;
// Returns 16, 10, 11, 5. The text inside each <span>.
var idNum = this.id.match(/[\d]+$/)[0];
// Returns 45, 46, 47, 48. The parts of each ID after spnMX.
});
$(“span[id^=spnMX]”)。每个(函数(){
var text=this.innerHTML;
//返回16、10、11、5。每个字段中的文本。
var idNum=this.id.match(/[\d]+$/)[0];
//返回45、46、47、48。每个ID在spnMX之后的部分。
});
现在使用这些变量,您应该会发现任务的其余部分很好:)
“我需要从每个元素中获得两个值
“spnMX”后面的数字和跨度文本。“
元素不允许名称
属性顺便说一句
鉴于您的ID与每个姓名完全相同,您可以使用以下选项:
$("span[id^=spnMX]").each(function(){
var text = this.innerHTML;
// Returns 16, 10, 11, 5. The text inside each <span>.
var idNum = this.id.match(/[\d]+$/)[0];
// Returns 45, 46, 47, 48. The parts of each ID after spnMX.
});
$(“span[id^=spnMX]”)。每个(函数(){
var text=this.innerHTML;
//返回16、10、11、5。每个字段中的文本。
var idNum=this.id.match(/[\d]+$/)[0];
//返回45、46、47、48。每个ID在spnMX之后的部分。
});
现在使用这些变量,您应该会发现任务的其余部分很好:)
请注意:
- Javascript(和jQuery)区分大小写
有效.attr
不可用.Attr
不是jQuery对象。因此,为了使用jQuery函数,如循环中的该
,您需要.attr()
)$(this.attr()
- jQuery
在映射数组方面非常强大,但它返回一个jQuery对象。使用.map()
获得最终结果.get()
- 由于jQuery选择器使用
,并且id
与id
名称相同(无效HTML!),因此使用id提取该值李>
4
[ ["45", "16"], ["46", "10"], ["47", "11"], ["48", "5"] ]
请注意:
- Javascript(和jQuery)区分大小写
有效.attr
不可用.Attr
不是jQuery对象。因此,为了使用jQuery函数,如循环中的该
,您需要.attr()
)$(this.attr()
- jQuery
在映射数组方面非常强大,但它返回一个jQuery对象。使用.map()
获得最终结果.get()
- 由于jQuery选择器使用
,并且id
与id
名称相同(无效HTML!),因此使用id提取该值李>
4
[ ["45", "16"], ["46", "10"], ["47", "11"], ["48", "5"] ]
$(this.attr('name');span元素上不能有name属性,HTML中不允许有name属性。$(this.attr('name');span元素上不能有name属性,这在HTML中是不允许的。谢谢您的解释。我喜欢这个代码,它和我刚开始的代码最接近。我必须找出你在第二和第三个要点中所说的更多细节。顺便说一句,那些span不是我的代码,所以我只是发布了来自原始站点的内容。他们的代码的其余部分看起来并没有太好。:)再次感谢,不客气;很乐意帮忙。我知道那些跨距不是你的(我经常使用Greasemonkey标记),但是无效代码会更频繁地被更改/修复,因此如果你的脚本更多地依赖于有效部分,你的代码将适合页面更长时间(希望如此)。:)关于更多细节,我更新了答案。谢谢你的解释。我喜欢这个代码,它和我刚开始的代码最接近。我必须找出你在第二和第三个要点中所说的更多细节。顺便说一句,那些span不是我的代码,所以我只是发布了来自原始站点的内容。他们的代码的其余部分看起来并没有太好。:)再次感谢,不客气;很乐意帮忙。我知道那些跨距不是你的(我经常使用Greasemonkey标记),但是无效代码会更频繁地被更改/修复,因此如果你的脚本更多地依赖于有效部分,你的代码将适合页面更长时间(希望如此)。:)有关更多详细信息,我更新了答案。谢谢。我还没有尝试过。每个功能,但很高兴看到它将如何完成。谢谢。我还没有尝试过。每个功能,但很高兴看到它是如何实现的。