的〔JavaScript的]是這樣的:
var sexes = document.getElementsByName('sex');
var sex_value;
for(var i = 0; i < sexes.length; i++){
if(sexes[i].checked){
sex_value = sexes[i].value;
}
}
但是,同樣可以使用jQuery在一個行完成像
$('input[name="sex"]:checked').val();
同樣可以做到在原生DOM/JavaScript中的一行中:
// using a CSS selector to retrieve a single DOM node,
// and retrieving its value property:
document.querySelector('input[name=sex]:checked').value;
例如
或者,讓所有元素,也是應該的複選框:
// using a CSS selector to retrieve all matching elements
// as a (non-live) NodeList:
var all = document.querySelectorAll('input[name=favourites]:checked');
檢索所有這些複選框的值,到一個數組:
// retrieving the elements into a NodeList:
var all = document.querySelectorAll('input[name=favourites]:checked'),
// using Array.prototype.slice() (with
// Function.prototype.call()) to convert
// the NodeList into an Array:
allArray = Array.prototype.slice.call(all, 0),
// using Array.prototype.map() to iterate over that
// array to return another array containing only
// the values of each of the array-elements:
allValues = allArray.map(function (arrayElement) {
return arrayElement.value;
});
可如果你真的想(跳過Array.prototype.slice()
的呼叫):
var allValues = Array.map.call(document.querySelectorAll('input[name=favourites]:checked', function (arrayElement) {
return arrayElement.value;
});
個
參考文獻:
讀取值做什麼? – 2015-02-05 19:14:46
爲什麼不使用jquery如果你想要一個單行的方法?順便說一句..太多的性別布萊恩之間的變量..'性別','sex_value','sexes.length' ..開玩笑 – Krishna 2015-02-05 19:16:30
爲什麼你想看看外面的jQuery?如果它起作用,爲什麼如果有另一個庫返回類似的結果呢? – Mark 2015-02-05 19:21:58