jQuery / JS包含运算符或类似的东西

时间:2015-04-08 20:33:18

标签: javascript jquery

我有一个包含许多数据类型的元素,例如:

<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';
}

但是,这仅在只有一个“数据类型”字时才有效。是否可以这样写,如果数据类型包含单词,它将改变图标?我以为可能有一个操作员,但似乎没有。

1 个答案:

答案 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';
}

演示:

&#13;
&#13;
$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;
&#13;
&#13;