原型脚本$$('span [tab_caption =“abcde”]')[0] .select('span [id * = section。]')[0]

时间:2014-01-27 18:51:52

标签: javascript prototype

任何人都可以帮忙解释这段代码的作用吗?具体是什么“id * = section”。意思?

Prototype script $$('span[tab_caption="abcd"]')[0].select('span[id*=section.]')[0]

2 个答案:

答案 0 :(得分:1)

我怀疑'。'可能是一个错字但我不确定。这似乎正在做的是找到属性为tab_caption=abcd的第一个跨度,然后在该元素内找到id为*section*的第一个跨度。

当我尝试使用尾随'。'时,我从原型Syntax error, unrecognized expression: [id*=section.]"收到错误。但没有'。'事情成功了。

查看像这样的DOM样本

 <span tab_caption="ac">
   span ac
   <span id="section1">section1</span>
 </span>
 <span tab_caption="ad">
   span ad
   <span id="section2">section2</span>
 </span>
 <span tab_caption="ac">
   span ac
   <span id="section3">section3</span>
 </span>
 <span tab_caption="ad">
   span ad
   <span id="section4">section4</span>
 </span>

然后在控制台中运行那些选择器:

 > $$('span[tab_caption="ac"]')[0].select('span[id*=section]')[0]
 <span id=​"section1">​section1​</span>​
 > $$('span[tab_caption="ad"]')[0].select('span[id*=section]')[0]
 <span id=​"section2">​section2​</span>​

如您所见,第一个查询选择了tab_caption=ac的第一个范围,并给了我section1。第二个从tab_caption=ad中选出了第一个,并给了我section*的第一个匹配section2

你确定'。'应该在select参数中?

答案 1 :(得分:0)

此属性选择器已添加CSS3并匹配任何attribute which contains the specified substring。在您的情况下,任何span元素都具有id属性,其中包含字符串section.