我需要什么
a.html
<input type="hidden" id="evt_date" value="feb 10">
<input type="hidden" id="evt_date" value="Mar 21">
<input type="hidden" id="evt_date" value="april 05">
JS
<script>
$.each($('input'), function(i, val) {
if ($(this).attr("type") == "hidden") {
var event_date = document.getElementById('evt_date');
console.log(event_date);
}
});
</script>
问题
在执行console.log时获取
<input type="hidden" id="evt_date" value="feb 10">
更新了js代码
$.each($('input.event_date'),function(i,val)
{
if($(this).attr("type")=="hidden")
{
console.log(val);
var evt_date=$('.event_date').val();
console.log(evt_date);
$('.date_event').html(evt_date);
}
});
答案 0 :(得分:1)
对多个元素使用相同的id
并不是一个好习惯。您可以使用class
属性。首先,您应该将重复的id
属性更改为&#39; class&#39;属性。
HTML:已更新
<input type="hidden" class="event_date" value="feb 10">
<input type="hidden" class="event_date" value="Mar 21">
<input type="hidden" class="event_date" value="april 05">
<div class="date_event"></div>
<div class="date_event"></div>
<div class="date_event"></div>
接下来关于你的答案,循环遍历每个元素并记录值或者无论如何都要使用它。试试这个,
jQuery:
You question seemed little confusing to me when in one part you asked for the data of the element and in another part you asked for the element itself.
$.each($("input[type='hidden'][class='evt_date']"), function(){
console.log($(this).val()); // value of the element
console.log($(this)); // the element itself
});
修改代码:
jQuery:
var counter = 0;
$.each($('input.event_date'),function(i,val)
{
if($(this).attr("type")=="hidden")
{
console.log(val);
var evt_date=$(this).val();
console.log(evt_date);
$('.date_event:eq('+ counter +')').append(evt_date);
counter++;
}
});
答案 1 :(得分:0)
您对所有输入使用相同的ID。 id应该是唯一的。请改用班级
$.each($('input.evt_date'),function(i, field) {
if($(this).attr("type")=="hidden") {
console.log(field);
}
});
答案 2 :(得分:0)
$.each($('input'),function(i,val){
if($(this).attr("type")=="hidden"){
console.log($(this).val());
}
});
<强> Demo 强>
答案 3 :(得分:0)
不知道你为什么使用相同的 Id ,但这将是一个很短的路:
$("input [id='evt_date'][type='hidden']").each(function(){
console.log($( this ))
});
答案 4 :(得分:0)