对于下面的jQuery代码,我需要一个纯JavaScript解决方案:
$("#Lat").on("keypress keyup blur",function (event) {
$(this).val($(this).val().replace(/[^0-9\.]/g,''));
if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
});
$("#Lng").on("keypress keyup blur",function (event) {
$(this).val($(this).val().replace(/[^0-9\.]/g,''));
if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
});
答案 0 :(得分:0)
querySelectorAll
将获得与选择器匹配的所有NodeList
的{{1}},然后您可以对其进行一次forEach访问。以下是等效的JavaScript。
Nodes
答案 1 :(得分:0)
您可以使用document.querySelectorAll()
和for
循环来完成此操作,如下所示:
var nodes = document.querySelectorAll('[id^=name_]');
for(var i = 0; i < nodes.length; i++)
{
console.log(nodes[i].innerHTML);
}
<div id="name_a">aaa</div>
<div id="name_b">bbb</div>
请注意::使用nodes.forEach
,您将获得成功
“未捕获的TypeError:nodes.forEach不是函数”
因为nodes
是NodeList
而不是Array
。
但是,如果要使用Array.forEach()
,则必须将NodeList
转换为Array
,如以下示例所示:
var nodes = document.querySelectorAll('[id^=name_]');
[].forEach.call(nodes, function(elm)
{
console.log(elm.innerHTML);
});
<div id="name_a">aaa</div>
<div id="name_b">bbb</div>
请参阅文档: