我有一个图像(实际上是一个web服务图),在更改用户选择的参数时,必须更改边界框并更新图像。
如果我替换整个图片代码,它会正常工作:
document.getElementById("dropzone1").innerHTML = "<img style='margin-top: 0'
src='http://neowms.sci.gsfc.nasa.gov/wms/wms?
SERVICE=WMS&VERSION=1.1.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&
LAYERS=MOD13A2_E_NDVI&SRS=EPSG:4326&STYLES=&WIDTH=500&HEIGHT=400&
BBOX=10.163726806640625,49.10217838413516,10.240631103515625,49.14172346635712'>";
但我只想更换后部,BBOX数据用变量&#34;范围&#34;:
str.replace("10.163726806640625,49.10217838413516,10.240631103515625,49.14172346635712", extent")
有一种简单的方法吗?小数位数会有所不同。
感谢任何提示!
答案 0 :(得分:1)
您可以使用正则表达式,例如
yourString.replace(/BBOX=[\d\.,]+/, 'BBOX=' + yourNewBBox);
正则表达式将搜索由BBOX =&#39;组成的子串。其次是数字,点和逗号的任意组合。
答案 1 :(得分:0)
最好你的图像有一个id来访问它,或者我们可以通过它在父级中的索引来访问元素(图像)。例如,如果您的图片是其父{0} {<1}}的第一个元素:
div id="dropzone1"
答案 2 :(得分:0)
这是一个简单的解决方案。
var n = str.lastIndexOf('BBOX');
var o=str.lastIndexOf('>');
var result = str.substring(n + 1,o-1);
然后你可以用extent替换结果。
str.replace(result, extent);