繁体   English   中英

在javascript中获取部分字符串

[英]Get part of string in javascript

如何从字符串中获取坐标:

<path fill="#FFFFFF" stroke="#000000" stroke-miterlimit="10" d="M275.843,110.301c-47.082,13.406-77.458,58.874-69.425,103.478
        c4.241,23.548,16.136,42.268,38.639,52.408c4.728,2.13,10.717,1.457,16.125,2.08c25.394,2.925,46.609,15.095,66.295,30.378
        c3.857,2.995,6.64,2.91,10.014-0.096c24.818-22.111,39.262-49.192,39.892-84.204c-0.189-2.728-0.244-6.743-0.775-10.694
        c-5.566-41.427-27.104-72.584-61.608-95.299c-1.563-1.029-3.687-1.618-5.573-1.682
        C298.075,106.287,286.912,107.148,275.843,110.301z"></path>

我需要d=""之后的所有坐标,所以我只需要数字:

M275.843,110.301c-47.082,13.406-77.458,58.874-69.425,103.478
            c4.241,23.548,16.136,42.268,38.639,52.408c4.728,2.13,10.717,1.457,16.125,2.08c25.394,2.925,46.609,15.095,66.295,30.378
            c3.857,2.995,6.64,2.91,10.014-0.096c24.818-22.111,39.262-49.192,39.892-84.204c-0.189-2.728-0.244-6.743-0.775-10.694
            c-5.566-41.427-27.104-72.584-61.608-95.299c-1.563-1.029-3.687-1.618-5.573-1.682
            C298.075,106.287,286.912,107.148,275.843,110.301z

或者我怎样才能得到 d 的这个值。 因为目标将所有信息都返回给我,但是当我写信时

target.d

什么都没发生

在香草javascript中:

document.getElementById('elementId').getAttribute('d');

使用 jquery 使用 .attr():

$('#elementId').attr('d');

用正则表达式来做:

var myString = '<path fill="#FFFFFF" stroke="#000000" stroke-miterlimit="10" d="M275.843,110.301c-47.082,13.406-77.458,58.874-69.425,103.478c4.241,23.548,16.136,42.268,38.639,52.408c4.728,2.13,10.717,1.457,16.125,2.08c25.394,2.925,46.609,15.095,66.295,30.378c3.857,2.995,6.64,2.91,10.014-0.096c24.818-22.111,39.262-49.192,39.892-84.204c-0.189-2.728-0.244-6.743-0.775-10.694c-5.566-41.427-27.104-72.584-61.608-95.299c-1.563-1.029-3.687-1.618-5.573-1.682C298.075,106.287,286.912,107.148,275.843,110.301z"></path>';

var myRegexp = /d=\"(.*|\s)\">/g;

var match = myRegexp.exec(myString);

你想要的是:

match[1]

使用getAttribute()方法:

event.target.getAttribute('d')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM