这是我的css路径:
#product_composite_configure .entry-edit .buttons-set.a-right .scalable
如何使用原型js选择此项?我想为此项添加一个新属性。
这不起作用:
<script type="text/javascript">
$$('#product_composite_configure .entry-edit .buttons-set.a-right .scalable').setAttribute("test","test");
</script>
Thx
[UPDATE]
这也不起作用:
$$('div#product_composite_configure div.entry-edit div.buttons-set button.scalable').setAttribute("test","test");
答案 0 :(得分:0)
为什么复杂化?试试这个:
POST "https://login.microsoftonline.com/{tenantName}/oauth2/token"
答案 1 :(得分:0)
$$()
选择器返回所选元素的数组。因此,您需要迭代数组或使用内置迭代器invoke()
。
例如
$$('.css_class').invoke('writeAttribute','checked',true);
或您的CSS选择器
$$('#product_composite_configure .entry-edit .buttons-set.a-right .scalable').invoke('writeAttribute',"test","test");
我使用writeAttribute()
代替setAttribute()
,因为它适用于PrototypeJS支持的所有浏览器
还有其他一些方法可以使这项工作
$('product_composite_configure').down('.entry-edit .buttons-set.a-right .scalable').writeAttribute('test','test');
$$('#product_composite_configure .entry-edit .buttons-set.a-right .scalable')[0].writeAttribute('test','test');
这完全取决于您的HTML结构以及您期望的行为。如果您只想定位一个元素,那么使用down()
的id查找可能会更好。如果您要在#product_composite_configure
元素中包含多个子元素,那么使用$$()
选择器和invoke()
将意味着任何新元素都会受到影响,而不会重写脚本。