ループ内の各ノードのデータ属性の値を取得する必要があります。以下の例では、属性「data-langlabels」に複数の値が含まれているかどうかを確認する必要がありますが、アクセスできない可能性があります。私の問題が何であるか分かりますか?
HTMLコードは次のとおりです。
<a class="dropdown-toggle" href="#" data-link="aaa.pdf" data-toggle="dropdown" data-langlabels="English">Link 1</a><br />
<a class="dropdown-toggle" href="#" data-link="bbb.pdf" data-toggle="dropdown" data-langlabels="English,Spanish">Link 2</a><br />
<a class="dropdown-toggle" href="#" data-link="ccc.pdf" data-toggle="dropdown" data-langlabels="English,Spanish,German">Link 3</a><br />
Javascript 部分:
<script type="text/javascript">
var findTarget = $('a').data('toggle');
if (findTarget === 'dropdown') {
$('a.dropdown-toggle').each(function() {
var ieLanguages = $(this).data('langlabels');
alert('ieLanguages: ' + JSON.stringify(ieLanguages, null, 4));
if (ieLanguages.indexOf(',') > -1) {
console.log('display more languages!');
var count = 0;
$(this).on('click', function(event) {
if(count<1) {
event.preventDefault();
}
count++;
});
} else {
console.log('display only one language!');
}
});
}
<script>
上記に基づいた JSFiddle を次に示します。