本文涉及到的关于Element的一些需要但是可能并不常用的方法
1.从已有的Element中选择无id或者class的div元素
<div class="searchlist" id="searchlist" cx_cdname="searchlist.wysiwyg" cx_cdconf="src=server&rep=outer">
<div cx_blockpart="recordlist">
<!---要获取的div控件-><div cx_elementpart="inner" cx_html="@{entityresult}">
</div>
</div>
</div>
上面代码中注释的div是想要获取的元素,本身可以通过父级元素的class或者id一步步进行获取,例如:this.doc.select(".searchlist>div>div"),这样也是可以获取到的,但是不够灵活。如果div元素稍有调整,那么选择器的语句就要修改。因此下面这种语句是比较好的选择:
//选择 cx_html 属性包含单词 “@{entityresult}” 的所有元素
this.doc.select("[cx_html~=\@\{entityresult\}]");
注意:这里被包含的属性值一定是要唯一的!
如果想要获取class="searchlist"的控件下的所有div,并且移除
this.doc.select(“body > #entityeditor > *”).remove();
2.获取div控件中的元素值并进行增删改查
<div class="searchlist" id="searchlist" cx_cdname="searchlist.wysiwyg" cx_cdconf="src=server&rep=outer">
<!--要增加属性的div-->
<div cx_blockpart="recordlist">
<!---要获取的div控件->
<div cx_elementpart="inner" cx_html="@{entityresult}">
</div>
</div>
</div>
增加和修改
首先是获取控件,使用attr(属性名, 属性值)方法
this.doc.select("[cx_blockpart~=recordlist]").attr(“class”,“layui-form-label”);
如果属性名不存在,那么就是增加操作
如果属性名已存在,那么就是修改操作
获取(查找)
以增加为例,获取使用attr(属性名)方法,返回String类型的属性值
this.doc.select("[cx_blockpart~=recordlist]").attr(“class”);
删除
以增加为例,删除使用removeAttr(属性名)方法
this.doc.select("[cx_blockpart~=recordlist]").removeAttr(“class”);