javascript jquery找到没有特定属性的多个隐藏输入

时间:2018-05-23 00:03:32

标签: javascript jquery

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



var v1=document.getElementById(“tf1”).value
var v2=document.getElementById(“tf2”).value




4 个答案:

答案 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);
  }
}

Codepen - https://codepen.io/anon/pen/jxRVMb?editors=1010

答案 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()

的组合

&#13;
&#13;
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;
&#13;
&#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" />