为什么我的element.classList.add有效,但toggle不起作用?

时间:2019-11-24 01:59:48

标签: javascript dom

单击按钮后,我需要添加/删除课程。由于某些原因, @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { ViewPager viewPager = (ViewPager)container; View view = (View)object; ViewPager.removeView(view); //removeView is not working layoutInflater = (LayoutInflater)context.getSystemService(context.LAYOUT_INFLATER_SERVICE); View view=layoutInflater.inflate(R.layout.custom_layout,null); ImageView imageView = (ImageView) view.findViewById(R.id.myImageView); imageView.setImageResource(images[position]); ViewPager viewPager = (ViewPager)container; ViewPager.addView(view); return view; 无法正常工作,但是classList.toggle可以正常工作。

classList.add

1 个答案:

答案 0 :(得分:0)

能否请您更改this中的forEach,因为它是指文档上下文而不是特定的a标记。在原始代码中,该页面正在侦听整个页面的单击,这导致了您面临的问题。

/**** Your JS Here ****/
//define DOM element
//this makes whatver you click dissappear both boxes
document.querySelectorAll(".view-now").forEach(function(item) {
  item.addEventListener("click", function(e) {
    const property = e.target.closest(".property");
    property.classList.toggle("expand");
  });
});

Codepen