如何与特定ID对话

时间:2016-05-17 09:31:48

标签: javascript jquery google-maps

我正在开发一个谷歌实现,现在我想在缩放级别为18时更改字体大小,但如果我执行下面的代码,它会说出所有标记:

  var id = locations[i][0].id;


  if (map.getZoom() === 18) {



        if( id >= 100 ){
            console.log(id);
            console.log($('[data-id="'+id+'"]'));

            //$('[data-id="'+id+'"]').css({'color' : 'red' ,'font-size' : '10px'});
            //$('[data-id="'+id+'"]').find('.number-id').css('font-size', '10px', '!important');

            $('#'+id).css('font-size', '10px', '!important');
        }

如您所见,我将id设置为选择器,找到显示id/number的范围,但不会改变它的样式!

这是我的标记数组:

 var locations = [
    [{id: 1,  lat: 51.5239935252832,   lng:  5.137663903579778,   content: 'Kids Jungalow (5p)'}],
    [{id: 2,  lat: 51.523853342911906, lng:  5.1377765563584035,  content: 'Kids Jungalow (5p)'}],
    [{id: 3,  lat: 51.5237298485607,   lng:  5.137969675407476,   content: 'Kids Jungalow (5p)'}],
    [{id: 4,  lat: 51.52355628836575,  lng:  5.138066234932012,   content: 'Kids Jungalow (5p)'}],
    [{id: 5,  lat: 51.52340275379578,  lng:  5.138211074218816,   content: 'Kids Jungalow (5p)'}],
    [{id: 6,  lat: 51.523199152806626, lng:  5.138382735595769,   content: 'Kids Jungalow (5p)'}],
    [{id: 7,  lat: 51.5229955509073,   lng:  5.138511481628484,   content: 'Kids Jungalow (5p)'}],
    [{id: 8,  lat: 51.52280529912936,  lng:  5.138543668136663,   content: 'Kids Jungalow (5p)'}],
    [{id: 9,  lat: 51.523596340777075, lng:  5.138463201866216,   content: 'Kids Jungalow (5p)'}],
    [{id: 700,lat: 51.523372714362736, lng:  5.1386992362595265,  content: 'Kids Jungalow (5p)'}]

这是标记的html:

var number = locations[i][0].id;
var marker_html = '<div class="rich-marker">'+'<span data-id="'+ number + '" class="number-id">' + number + '</span>' + '</div>';

//var marker_html = '<div id="'+ number + '"><div class="rich-marker"><span class="number-id">'+ number + '</span></div></div>';

1 个答案:

答案 0 :(得分:1)

为了让它正常工作我会这样做:

将带有标记ID的数据标记添加到您的marker-tag(<span data-id="1"></span>

要设置标记的css为id 1,您可以使用:

// example var id = 1;

要设置标记的样式,您可以使用:

$('[data-id="'+id+'"]').css('color', 'red');

你的例子不起作用,因为你的身份证是1,2,3,4,5 .. 并且你的HTML应该有这个ID(#1,#2,#3,#4 ..)

应该是这样的:

var marker_html = '<div id="1"><div class="rich-marker">'+'<span class="number-id">' + number + '</span>' + '</div></div>';

使用这个html标记你可以使用这个jQuery:

$('#'+id).find('.number-id').css('color', 'red');