Javascript 将值推入数组
我有以下html代码:Javascript 将值推入数组,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有以下html代码: <div class="big-bus-right-part" id="bis-bus-first-floor"> <div id="posB100" class="vehicle-seat" onclick="bc.vehicleSeatFirstFloorHandleEvent(this)"></div> <div id="posB101" class="vehicle-seat" onc
<div class="big-bus-right-part" id="bis-bus-first-floor">
<div id="posB100" class="vehicle-seat" onclick="bc.vehicleSeatFirstFloorHandleEvent(this)"></div>
<div id="posB101" class="vehicle-seat" onclick="bc.vehicleSeatFirstFloorHandleEvent(this)"></div>
<div id="posB102" class="vehicle-seat" onclick="bc.vehicleSeatFirstFloorHandleEvent(this)"></div>
<div id="posB103" class="vehicle-seat" onclick="bc.vehicleSeatFirstFloorHandleEvent(this)"></div>
<div id="posB104" class="vehicle-seat" onclick="bc.vehicleSeatFirstFloorHandleEvent(this)"></div>
<div id="posB105" class="vehicle-seat" onclick="bc.vehicleSeatFirstFloorHandleEvent(this)"></div>
<div id="posB106" class="vehicle-seat selected" onclick="bc.vehicleSeatFirstFloorHandleEvent(this)">1</div>
<div id="posB107" class="vehicle-seat selected" onclick="bc.vehicleSeatFirstFloorHandleEvent(this)">2</div>
</div>
我想做的是将所有选择了类的值绘制到html中(请参见html中的值1和2),并将它们推到数组中。您可以使用jQuery和:
前排座椅
将是一个包含“1”
和“2”
的数组
例如:
var bc={};
bc.vehicleSeatFirstFloorHandleEvent=功能(el){
如果($(el).text().length>0){
$(el).toggleClass('选定');
}
var前排座椅=$(“#bis巴士一楼”)
.查找(“.车辆座椅.选定”)
.map(函数(){
返回$(this.html();
})
.get();
控制台。日志(前排座椅);
};代码>
。车辆座椅{
显示:内联块;
边框:1px实心#ddd;
宽度:1米;
高度:1米;
}
1.
2.
您可以使用jQuery和:
前排座椅
将是一个包含“1”
和“2”
的数组
例如:
var bc={};
bc.vehicleSeatFirstFloorHandleEvent=功能(el){
如果($(el).text().length>0){
$(el).toggleClass('选定');
}
var前排座椅=$(“#bis巴士一楼”)
.查找(“.车辆座椅.选定”)
.map(函数(){
返回$(this.html();
})
.get();
控制台。日志(前排座椅);
};代码>
。车辆座椅{
显示:内联块;
边框:1px实心#ddd;
宽度:1米;
高度:1米;
}
1.
2.
同时:
(function (el) {
if ($(el).text().length > 0) {
$(el).toggleClass('selected');
}
var frontSeats = []
var selectedSeats = $('.selected').each(function(){
frontSeats.push($(this).html());
})
console.log(frontSeats);
})()
还有:
尝试使用.text()
而不是.html()
你将不得不迭代,但是为什么你想要html,为什么不仅仅是元素本身,jQuery在数组中给你类似对象的东西?1和2是如何达到的?如果用户单击其中一个没有任何内容的数组,该怎么办?将new Array()
更改为[]
,因为它速度更快,而且更易于键入。另外,我建议使用jQuery连接事件处理程序,而不是使用onclick
属性。首先,您不必将处理程序设置为全局的,而且您可能还可以从使用委托处理中获益。尝试使用.text()
而不是.html()
您将不得不进行迭代,但为什么您需要html,为什么不只是元素本身,jQuery在类似数组的对象中给出了什么?1和2是如何到达的?如果用户单击其中一个没有任何内容的数组,该怎么办?将new Array()
更改为[]
,因为它速度更快,而且更易于键入。另外,我建议使用jQuery连接事件处理程序,而不是使用onclick
属性。首先,您不必将处理程序设置为全局的,而且您可能还可以从使用委托处理中获益。
var frontSeats = $('#bis-bus-first-floor')
.find('.vehicle-seat.selected')
.map(function() {
return $(this).html();
})
.get();
(function (el) {
if ($(el).text().length > 0) {
$(el).toggleClass('selected');
}
var frontSeats = []
var selectedSeats = $('.selected').each(function(){
frontSeats.push($(this).html());
})
console.log(frontSeats);
})()