我試圖從一個輸入的LI元素中獲得一個ID的值。使用getElementsByTagName,然後使用getElementById
但是,當我打電話給getElementsByTagName()[0].getElementsById()
我得到錯誤numLi[i].getElementById is not a function
numLi與LI元素的數組。這裏是我的整個js代碼
$('form').submit(function()
{
var headOne = document.getElementById('inputHead').value;
var archive = document.getElementById('inputPara').value;
var numLi = document.getElementById('uList').getElementsByTagName('li');
var tagsToPost = '';
for(i = 0;i<numLi.length;i++)
{
var ff = numLi[i].getElementById('tagOne');
if(i<=numLi-1)
{
tagsToPost = tagsToPost + ff.value + ',';
}
else
{
tagsToPost = tagsToPost + ff.value;
}
}
});
和HTML部分我試圖訪問該行var ff = numLi[i].getElementById('tagOne');
<form action="javascript:void(0);">
<div class="col-md-3">
<div id="enlacesList">
<ul id="uList">
<li class='listaLink'><input type="text" id="tagOne" class="tags" placeholder="Tags" autocomplete="off"></li>
<li class='listaLink'><input type="text" id="tagOne" class="tags" placeholder="Tags" autocomplete="off"></li>
</ul>
</div>
<button id="addgregador" type="button" autocomplete="off"><span class="glyphicon glyphicon-plus"></span></button><button id="desadd" type="button" autocomplete="off"><span class="glyphicon glyphicon-minus"></span></button>
</div>
<div class="col-md-9" id="containerTexto">
<div id="textoPregunta">
<div id="textHeading"><input type="text" name="headingOne" id="inputHead" placeholder="Titulo de la pregunta" autocomplete="off"></div>
<div id="textContent"><textarea id="inputPara" rows="33" cols="84" placeholder="Respuesta, explicación..." autocomplete="off"></textarea></div>
<input type="submit" id="editOk" value="Enviar" class="btn btn-primary" autocomplete="off"><input type="reset" id="editNot" value="Cancelar" class="btn btn-danger" autocomplete="off">
</div>
</div>
程序中斷。
爲什麼在頁面上有多個元素具有相同的ID? – epascarello
@epascarello它們是通過'ul'標籤上的兩個按鈕創建的,我只使用了相同的ID,因爲我在心裏用ID調用它們,我的問題的解決方案可能是使用'getElementsByTagName('input')[0 ]',而不是'getElementById(''tagOne')' – Yacomini
你不能擁有多個具有相同ID的元素。改用類。 – JJJ