javascript或jquery可以使用随机创建的id从多个隐藏输入创建一个值数组(换句话说,没有要搜索的特定属性)?下面的代码只会导致第一个隐藏输入的警告,' abc&... 39 感谢
var v1=document.getElementById(“tf1”).value
var v2=document.getElementById(“tf2”).value

答案 0 :(得分:2)
也许试试这个:
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="hidden" id="some_random_id" value="abc" />
<input type="hidden" id="some_random_id" value="def" />
<input type="hidden" id="some_random_id" value="ghi" />
JS
var tags = document.getElementsByTagName("input");
for(var i = 0; i < tags.length; i++){
if(tags[i].getAttribute("hidden") == null){
console.log(tags[i].value);
}
}
答案 1 :(得分:1)
您只需在a = [10, 16, 29, 1, 4, 5, 7, 9, 13, 15]
N = 3
b = a[:]
locations = []
minimum = min(b) - 1
for i in range(N):
maxIndex = b.index(max(b))
locations.append(maxIndex)
b[maxIndex] = minimum
print(locations)
之后调用.val
一次,因此它只返回jQuery集合中第一个元素的值。 (.find
只会迭代一次,因为文档中只有一个$('html').each
标记)
你可以尝试这样的事情,不需要jQuery:
html
const hiddenFields = [...document.querySelectorAll('input[type="hidden"]')]
.map(input => input.value);
console.log(hiddenFields);
您还应该尝试修复HTML,以便没有重复的ID;那是无效的。
如果你想使用jQuery迭代:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="hidden" id="some_random_id" value="abc" />
<input type="hidden" id="some_random_id" value="def" />
<input type="hidden" id="some_random_id" value="ghi" />
const hiddenFields = $.map($('input[type="hidden"]'), input => $(input).val());
console.log(hiddenFields);
答案 2 :(得分:0)
可以使用filter()
和map()
var results = $("input[type='hidden']").filter(function() {
return this.value // only return elements that have value
}).map(function() {
return this.value // pass the value to array
}).get()
console.log(results)
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="hidden" id="some_random_id" value="abc" />
<input type="hidden" id="some_random_id" value="def" />
<input type="hidden" id="some_random_id" value="ghi" />
&#13;
答案 3 :(得分:0)
Grab all hidden inputs and then you can fetch value by iterating on it using forEach loop
const hiddenInputs = document.querySelectorAll('input[type="hidden"]');
const hiddenInputValues = [];
hiddenInputs.forEach((ele) => {
hiddenInputValues.push(ele.value);
});
console.log(hiddenInputValues);
<input type="hidden" id="some_random_id" value="abc" />
<input type="hidden" id="some_random_id" value="def" />
<input type="hidden" id="some_random_id" value="ghi" />