Как получить два числа в атрибуте и вернуть их обратно в атрибут - PullRequest
0 голосов
/ 03 ноября 2011
 <path id= "path1" d="m11,222.2L333,444L55,66 -77,-88" />
 <path id= "path2" d="m9,11L2,22.5L3,4 5,7"/>
  1. Я хочу получить начальное число два в атрибуте "d".
    ex.11 и 222.2 для path1
    9 и 11 для pathe2
  2. и добавьте некоторое число к числу
    21 242.2 для path1
    19 31 для path2
  3. , затем поместите целоевернемся к атрибуту

Я подумал, чтобы получить d на

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

, а затем использовать регулярное выражение, чтобы получить два числа, которые находятся между двумя алфавитами, например.m (номер1), (номер2) алфавит Есть ли более удобный способ сделать это?если нет, то как мне поймать два числа с помощью регулярного выражения и изменить attr = "d"?Спасибо за ваше чтение ..

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

В зависимости от того, знаете ли вы буквы, которые будут там (они всегда будут 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>

Хорошо, так что я думаю, что это не очень удобно, но, по крайней мере, это легко понять, и это решает проблемы парсинга строк.Затем вам нужно будет получить атрибут из тега path и вернуть значение обратно в атрибут.

0 голосов
/ 03 ноября 2011

Разве вы не можете просто обернуть их в <g /> и применить преобразование?

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