我使用Google自动完成javascript代码来完成地址。它跟踪输入字段,获取Id document.getElementById('addressField')。我遇到的问题是输入字段的id看起来像myForm:j_idt329:addressField。我需要很多不同的页面。因此,id每次看起来都不一样,但总是在末尾包含单词addressField。还有另一种方法来获取元素吗?也许和RegEx在一起?以下是完整的javascript:
function initialize() {
var input = document.getElementById('addressField');
var options = {
types: ['geocode']
};
var autocomplete = new google.maps.places.Autocomplete(input, options);
}
google.maps.event.addDomListener(window, 'load', initialize);提前谢谢。
发布于 2014-08-08 16:08:48
Regex不需要!您可以使用querySelector
document.querySelector("[id*='addressField']")如果我没记错的话,选择器中的*=运算符将查找包含addressField的元素。
如果您试图获取多个元素的节点列表,只需使用querySelectorAll即可。前者只返回列表的第一个节点,all返回整个列表。
正如卢卡斯在评论中所说:$=将匹配属性的末尾。这两种方法都能发挥作用,但不能100%确定其中一种是否比另一种更好。
https://stackoverflow.com/questions/25207659
复制相似问题