起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 420|回复: 4

[处理中3] 关于循环代码的XID重复问题

[复制链接]

25

主题

79

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
QQ
发表于 2016-4-20 15:48:16 | 显示全部楼层 |阅读模式
比如淘宝案例的micro.w,里面从json里读取的商品信息,然后对代码进行循环生成。

但是我发现,生成后的代码xid都是一样的,这个不违背ID唯一性吗?

另外就是这样我们取XID的时候就没办法取了。


<div class="col col-xs-9" xid="col11">
          <div component="$UI/system/components/justep/list/list" class="x-list"
            xid="secondClassList" data="secondClassData" filter='$row.val("fRootID")==$model.rootClassData.val("fID")' dataItemAlias="secondClassRow">
            <ul class="x-list-template" xid="listTemplateUl2">
              <li xid="li2">
                <h5 bind-text="ref('fClassName')" class="text-muted"><![CDATA[]]></h5>  
                <div component="$UI/system/components/justep/list/list" class="x-list clearfix"
                  xid="threeClassList" data="threeClassData" filter="$row.val('fSecondID')==secondClassRow.val('fID')" bind-click="listClick" dataItemAlias="threeClassRow">
                  <ul class="x-list-template" xid="listTemplateUl3">
                    <li xid="li3" class="col col-xs-4 text-center tb-listBox text-black">
                      <div><img src="" alt="" bind-attr-src='$model.getImageUrl(val("fClassImg"))' class="img-responsive" /><p bind-text="val(&quot;fClassName&quot;)"/></div>
                       
                    </li>
                  </ul>
                </div>
              </li>
            </ul>
          </div>
        </div>
发表于 2016-4-20 16:21:49 | 显示全部楼层
Xid 不保证 重复,但是ID肯定是保证不重复的,
list中获取dom节点可参考:
http://bbs.wex5.com/forum.php?mo ... 3&pid=165200495

list 中 通过 设置自定义属性值为$index() 的方式,然后通过jquery 获取这个属性来获得节点:  http://bbs.wex5.com/forum.php?mo ... 2&pid=165222939
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

25

主题

79

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
QQ
 楼主| 发表于 2016-4-20 16:47:13 | 显示全部楼层
本帖最后由 hkdwolf 于 2016-4-20 16:55 编辑
liangyongfei 发表于 2016-4-20 16:21
Xid 不保证 重复,但是ID肯定是保证不重复的,
list中获取dom节点可参考:
http://bbs.wex5.com/forum.php? ...

关键是X5没有唯一属性的ID。。

我先用var obj = $(event.currentTarget).find("li"); 取到对象下面的li对象;
然后直接obj.append('aaa'); 发现list里每行都加了aaa..

不能这样用吗?一定要转变成this.comp(obj)?
回复 支持 反对

使用道具 举报

25

主题

79

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
QQ
 楼主| 发表于 2016-4-20 17:21:22 | 显示全部楼层
liangyongfei 发表于 2016-4-20 16:21
Xid 不保证 重复,但是ID肯定是保证不重复的,
list中获取dom节点可参考:
http://bbs.wex5.com/forum.php? ...

看了那几个帖子还是没能解决我的问题。

在列表下点某行时,在当前行对象下的<li>元素里插入个代码,怎么写?
回复 支持 反对

使用道具 举报

发表于 2016-4-20 17:56:16 | 显示全部楼层
hkdwolf 发表于 2016-4-20 16:47
关键是X5没有唯一属性的ID。。

我先用var obj = $(event.currentTarget).find("li"); 取到对象下面的li对 ...

你是在哪儿的点击事件??点击事件应该写在li上!如果你是写在list上的

event.currentTarget 就表示 list的dom对象!!find("li") 当然会找到所有的li节点了!!
保证event.currentTarget 是li节点,这样每行数据就都是唯一的了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-3 13:58 , Processed in 0.126087 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表