如何通过javascript创建没有任何id或类的输入标签的名称标签?



我正在处理一个表单:

<div class="directions_holder">
<h4><i class="fa fa-map-marker"></i> Get Direction</h4>
<p>Enter your location</p>
<form action="" align="right" onsubmit="calcRoute('routeStart615d1caf4ca70', '10.809556085818913', '106.62590956389425', 'map_canvas615d1caf4ca6f');
return false;">
<input type="text" id="routeStart615d1caf4ca70" value="" placeholder="Your Location" style="margin-top:3px"><br><br>
<input type="submit" value="Get Direction" class="button" onclick="calcRoute('routeStart615d1caf4ca70', '10.809556085818913', '106.62590956389425', 'map_canvas615d1caf4ca6f');
return false;">
</form>
</div>

我想添加一个名称标签name="autocomplete_address"到这个输入得到自动完成地址插件的工作,但我不知道如何在javascript中找到输入,因为这个输入的id每次刷新页面时总是改变,所以我不知道如何选择它来添加名称标签。

<input type="text" id="routeStart615d1caf4ca70" value="" placeholder="Your Location" style="margin-top:3px"><br><br>

请帮帮我。由于

既然你不能用id作为选择符或许你可以试试DISTINCT比如占位符选择符这样你就可以这样写

var elm = document.querySelectorAll('[placeholder="Your Location"]')[0];
elm.setAttribute("name","autocomplete_address");
//Alert current name
alert(elm.getAttribute("name"));

或者您可以使用其他属性更改querySelectorAll()的值

document.querySelector('input[type=text]')将第一个页面上输入字段。

如果有多个表单,请先选择。

也许你想要这个

记住一点,名字是一个属性,而不是一个标签。

let form = document.getElementById("form");
var input = document.createElement("input");
input.setAttribute("type", "autocomplete_address");
form.appendChild(input);

使用JQuery可以简单地做到这一点

$('.directions_holder input[type="text"]').attr('name','autocomplete_address');

最新更新