如何在attr中获取两个数字并将它们放回到attr

时间:2011-11-03 07:44:47

标签: jquery regex attr

 <path id= "path1" d="m11,222.2L333,444L55,66 -77,-88" />
 <path id= "path2" d="m9,11L2,22.5L3,4 5,7"/>
  1. 我想在attr“d”中得到头部两个数字。
    恩。路径1为11和222.2 9和11 for pathe2
  2. 并在数字上添加一些计数 21 242.2 for path1
    19 31 for path2
  3. 然后把整个d放回到attr
  4. 我想通过

    获得d
    var outd=$("path").attr(d);
    

    然后使用正则表达式获取两个字母之间的两个数字  恩。米(数量1),(数字2)的字母表 是否有更方便的方式来说明问题? 如果没有, 那么如何通过正则表达式捕获两个数字并更改attr =“d”? 谢谢你的阅读..

2 个答案:

答案 0 :(得分:1)

根据你是否知道那里的字母(它们总是m和L?),你可以使用Javascript的分割功能吗?

string.split(separator,limit) - http://www.w3schools.com/jsref/jsref_split.asp

<script>
function splitpaths() {
    var path1 = "m11,222.2L333,444L55,66 -77,-88";

    var path1split = path1.split(",", 2);
    var path1val1 = path1split[0].replace("m", "");
    var path1val2split = path1split[1].split("L");
    var path1val2 = path1val2split[0];

    alert("Val 1: " + path1val1 + " Val 2: " + path1val2);
}
splitpaths();
</script>

好吧我猜这不是很方便,但至少它很容易理解,它解决了字符串解析问题。接下来,您必须从路径标记中实际获取属性,并将值放回属性中。

答案 1 :(得分:0)

你能不能将它们包裹在<g />中,并应用转换?

$('#path1, #path2').wrapAll('<g transform="translate(10, 20)"></g>')