我正在寻找一种方法来查找javascript中引用的元素是否已插入到文档中.
让我们用以下代码说明一个案例:
var elem = document.createElement('div');
// Element has not been inserted in the document, i.e. not present
document.getElementByTagName('body')[0].appendChild(elem);
// Element can now be found in the DOM tree
Run Code Online (Sandbox Code Playgroud)
Jquery有:可见选择器,但当我需要找到隐藏元素放在文档中的某个位置时,它不会给出准确的结果.
我正在尝试使用RecyclerView和GridLayoutManager来显示项目列表。
这是我要满足的条件:
spanCount我发现如果android:layout_width="match_parent"在项目视图上进行设置,则项目宽度将通过用RecyclerView的宽度除以来设置spanCount。
问题是我不知道使项目高度与布局管理器确定的宽度成正比。
我唯一的解决方案是放弃布局管理器进行度量,并在中明确设置项目尺寸onBindViewHolder:
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_layout, parent, false);
ViewGroup.LayoutParams p = v.getLayoutParams();
p.width = parent.getWidth() / mLayoutManager.getSpanCount();
p.height = p.width * 3/2;
v.setLayoutParams(p);
return new MyViewHolder(v);
}
Run Code Online (Sandbox Code Playgroud)
我将不胜感激任何能帮助我改善解决方案的指针。