0

我正在检索谷歌标记的 xml 数据,但是我也想要标记计数,所以我这样做了。

<markers>
<results count="6" />
<marker id="1" lat="48.153938" lng="17.108459" icon_type="redicon" />
<marker id="2" lat="48.152657" lng="17.127541" icon_type="redicon" />
<marker id="3" lat="48.147572" lng="17.108433" icon_type="redicon" />
<marker id="14" lat="48.153938" lng="17.108459" icon_type="redicon" />
<marker id="15" lat="48.148170" lng="17.105650" icon_type="redicon" />
<marker id="16" lat="48.148170" lng="17.105650" icon_type="redicon" />
</markers>

现在,我的标记检索这样的帖子数据,效果很好:

success: function (data, status, jqXHR) {

var markers = xml.documentElement.getElementsByTagName("marker");

for (var i = 0; i < markers.length; i++) {
//lalalalala

然后我想检索计数,所以我这样做了:

success: function (data, status, jqXHR) {

$(data).find('markers').each(function(){
        var $entry = $(this);
        var pic = $entry.find('results').attr('count');
        $("#results").html(pic);
})

var xml = jqXHR.responseXML;
var markers = xml.documentElement.getElementsByTagName("marker");


for (var i = 0; i < markers.length; i++) {
//lalala

但是我相信有更好的方法。有没有办法将我在第一个实例中所做的与标记相结合来获得计数?我只想降低代码的复杂性。

谢谢!

4

1 回答 1

1

也许在 for 循环中执行它,并遍历标记标记。

我在 JSFiddle 上有一个这样的例子:http: //jsfiddle.net/3LyLR/

var markers = xml.documentElement.getElementsByTagName("markers");

for (var i = 0; i < markers.length; i++) {

var currmarker = markers[i]
var markercount = currmarker.getElementsByTagName("results")[0].getAttribute("count");
//and whatever else you want to do

}
于 2013-01-06T20:11:29.220 回答