Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как мне в JS в if() сделать сравнение, если атрибут data == euro, или rub

megolomania Мастер (1648), закрыт 4 года назад
например если атрибут data == euro - то вывести алерт euro и тп
Дополнен 4 года назад
div data="euro"></div
Лучший ответ
Elepsis Eclipse Гений (64070) 4 года назад
Используйте какое-то имя для дата, а не просто дата...

<div id="test" data-val="euro">test</div>

1. Вариант попроще:

let x = document.querySelector('div[data-val="euro"]');
if( x ) { alert('euro!'); }

2. Или:

let test = document.getElementById('test');
if( test.dataset.val == "euro" ){
  alert("euro!");
}
megolomaniaМастер (1648) 4 года назад
а почему просто data нельзя ?
Elepsis Eclipse Гений (64070) Можно, но по стандарту - атрибуты для "личных нужд" прописывают как data-название1="..." data-название2="..." data-название3="..." Тогда все они хранятся в объекте элемента .dataset и при изменении автоматически обновляются и в объекте, и в HTML... Так - через "точки" с ними удобнее работать, чем постоянно писать getAttribute(...) setAttribute(...)
Остальные ответы
Егор Ефимов Знаток (474) 4 года назад
Попробуй getAttribute использовать.
ewe 2e¶ CoЛнЫшКоcBeTиТоЧеНЬяРкО* Высший разум (309633) 4 года назад
switch (data)
{
case "euro":
alert('This is EURO');
break;
case "rub":
alert('This is RUBLES');
break;
default:
alert('Unknown asset');
}
Elepsis EclipseГений (64070) 4 года назад
Если их будет очень много, легче так)

obj = {
  euro: "This is EURO",
  rub: "This is RUBLE",
}

let x = тратата. data...
if( obj[x] ){
  alert( obj[x] )
}
ewe 2e¶ CoЛнЫшКоcBeTиТоЧеНЬяРкО* Высший разум (309633) Ну пока что по вопросу у ТС ясно, что валюты будет только две)))
TerraGruff Мастер (2473) 4 года назад
Если с jquery то if($("div").attr("data") == "euro") { //... }
Если без него, то:
var div = document.getElementBy... //Выберете элемент как вам удобно
if(div.getAttribute("data") == "euro") { //... }

желательно этому диву сделать какой-то айди, и уже писать $("#айди"), либо document.getElementById("айди");
Молот Шотландцев Высший разум (300965) 4 года назад
<div data-val = 'euro' id="div"></div>
<script type="text/javascript">
alert((div.getAttribute('data-val') == 'euro')?'euro':'rub')
</script>
Похожие вопросы