BOM编程-ELEMENT

Element类型用于表现html和xml中的元素,也就是说html中的标签都是Element类型;Element类型提供了对元素标签名子节点属性的访问。

  • nodeType==1
  • tagName==nodeName

html元素

  • id
  • title
  • lang
  • dir
  • className 指定的元素css类
    属性操作
  • getAttribute()
  • setAttribute()
  • removeAttribute()

获得属性getAttribute()

  • 注意这些操作都是针对Element类型的元素
<div id="myDiv" class="bd" title="Body Text" lang="en" dir="ltr"></div>
    <script type="text/javascript">
    var dd = document.getElementById('myDiv');
    document.write(dd.getAttribute('id'));
    document.write(dd.getAttribute('class'));
    document.write(dd.getAttribute('title'));
    document.write(dd.getAttribute('lang'));
    document.write(dd.getAttribute('dir'));
    </script>

当然也可以直接通过html属性直接获得:

    document.write(dd.id);
    document.write(dd.className);
    document.write(dd.title);
    document.write(dd.lang);
    document.write(dd.dir);

设置属性

div.setAttribute("id", "someOtherId");
div.setAttribute("class", "ft");
div.setAttribute("title", "Some other text");
div.setAttribute("lang","fr");
div.setAttribute("dir", "rtl");

attributes

该属性与nodeList类似也是一个动态的集合。多用于遍历

function outputAttributes(element){
var pairs = new Array(),
attrName,
attrValue,
i,
len;//该变量用来保存attributes长度的快照避免每次都去获取
for (i=0, len=element.attributes.length; i < len; i++){
attrName = element.attributes[i].nodeName;
attrValue = element.attributes[i].nodeValue;
pairs.push(attrName + "=\"" + attrValue + "\"");
}
return pairs.join(" ");
}

创建元素

document.createElement(“标签名”)
前面讲NODE类型的时候没有将如何创建节点,节点的其他操作参考node

    var div = document.createElement('div');
    div.id = "myNewDiv";
    div.className = "box";
    document.body.appendChild(div);

元素的子节点(敲黑板)

<ul id="mylist">
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
</ul>
<hr/>
<span>write by document</span>
<div id="myDiv" class="bd" title="Body Text" lang="en" dir="ltr"></div>
    <script type="text/javascript">
    var ulNode = document.getElementById('mylist');
    document.write(ulNode.childNodes.length);
    </script>

</body>

这里获取ur的子节点的个数为7
三个四个空白(Text类型)和3个li元素

如果要获取li元素,常用方法是:

for (var i=0, len=element.childNodes.length; i < len; i++){
if (element.childNodes[i].nodeType == 1){
//执行某些操作
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windchill提供了多种API来操作BOM结构,以下是一些常用的复制BOM结构的API: 1. 复制BOM结构的主方法为`WTPartUsageLink.copy( WTPartUsageLinkUsageLink )`,其中`WTPartUsageLinkUsageLink`表示要复制的BOM结构对象。该方法可以返回复制后的新BOM结构对象。 2. 复制BOM结构时,可以通过修改复制后的BOM结构的属性来实现复制。例如,可以使用`WTPartUsageLink.setQuantity( double )`方法设置新BOM结构的数量,使用`WTPartUsageLink.setChildNumber( int )`方法设置新BOM结构的子件号等。 3. 可以使用`WTPartUsageLink.persist()`方法保存复制后的BOM结构对象。 以下是一个示例代码,可以复制指定WTPartUsageLink的BOM结构: ``` public void copyBOM( WTPartUsageLink bomLink ) throws WTException { // 复制BOM结构 WTPartUsageLink newBOMLink = WTPartUsageLink.newWTPartUsageLink( bomLink.getRoleAObject(), bomLink.getRoleBObject() ); newBOMLink.setQuantity( bomLink.getQuantity() ); newBOMLink.setChildNumber( bomLink.getChildNumber() ); newBOMLink.persist(); // 复制子BOM结构 QueryResult children = WTPartUsageLink.getWTPartUsageLinks( bomLink.getRoleBObject() ); while ( children.hasMoreElements() ) { WTPartUsageLink childBOMLink = (WTPartUsageLink) children.nextElement(); if ( childBOMLink.getRoleAObject().equals( bomLink.getRoleBObject() ) ) { copyBOM( childBOMLink ); } } } ``` 该代码会递归地复制指定WTPartUsageLink的BOM结构及其子BOM结构,并且会将复制后的BOM结构保存到Windchill中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值