我有一个包含许多数据类型的元素,例如:
<div class="marker" data-type="industry context history society" data-lat="53.411028" data-lng="-1.4152860" id="1023"></div>
我有一点jQuery / JS,如果数据类型是某个'word',它会改变标记的颜色,例如:
if ($marker.data('type') == 'context') {
icon = 'http://maps.google.com/mapfiles/ms/icons/green-dot.png';
} else {
icon = 'http://maps.google.com/mapfiles/ms/icons/red-dot.png';
}
但是,这仅在只有一个“数据类型”字时才有效。是否可以这样写,如果数据类型包含单词,它将改变图标?我以为可能有一个操作员,但似乎没有。
答案 0 :(得分:3)
你可以搜索这个词
if ($marker.data('type').indexOf('context') != -1 ) {
icon = 'http://maps.google.com/mapfiles/ms/icons/green-dot.png';
} else {
icon = 'http://maps.google.com/mapfiles/ms/icons/red-dot.png';
}
演示:
$marker = $(".marker");
if ($marker.data('type').indexOf('context') != -1 ) {
$marker.css({'color':"blue"}).text( $marker.text()+" context found");
} else {
$marker.css({'color':"red"}).text( $marker.text()+" context not found");
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="marker"
data-type="industry context history society"
data-lat="53.411028" data-lng="-1.4152860" id="1023">abc</div>
&#13;