如果文本的字体大小在其属性中等于50,有没有办法比较?如何访问Raphael元素中的attr()值?例如,我有一个paper.set()包含很多paper.text()里面,我想知道是否有一个文本元素通过使用for循环得到“font-size”等于50。
答案 0 :(得分:0)
与使用Element.attr(<attrName>, <attrValue>)
设置属性值的方式相同,只需使用Element.attr(<attrName>)
来检索值即可。请注意,<attrValue>
会以文字形式返回给您,即"50"
而不是50
。
以下代码段演示了这一点,虽然它可能在某些浏览器(例如Chrome)中无效,可能是因为该代码段正在尝试访问外部第三方库,即Raphael.js。因此,要运行它,要么使用Firefox,要么将其复制并在您自己的计算机上运行。
window.onload = function() {
var paper = Raphael("holder", 200, 80);
paper.set().push(
paper.text(120, 20, "Hello").attr({"font-size": "40"}), // set attribute
paper.text(120, 60, "Hello").attr({"font-size": "50"})
).items.forEach(function(item, itemNum) {
document.getElementsByTagName('body')[0].appendChild(document.createElement("p")).innerHTML =
"item #" + itemNum + ": " + (item.attr("font-size") === "50"); // get attribute
});
};
<script src="http://github.com/DmitryBaranovskiy/raphael/raw/master/raphael-min.js"></script>
<div id="holder"></div>