Как определить конкретный атрибут с определенным текстом внутри

#javascript #getelementbyid

#javascript #getelementbyid

Вопрос:

Я хочу иметь возможность указать, что ЕСЛИ data-path == «USB / sda1-usb-SanDisk_Cruzer_B», то выполните код и т. Д. data-path является моим атрибутом.

Есть идеи, как это сделать с помощью JS? document.getelementbyid я не думаю, что у него есть расширение для него, но, возможно, я ошибаюсь? Я нигде ничего не мог найти для этого.

Я также знаю, что вы можете использовать:

document.getElementById("db-1").hasAttribute("data-path");

Но это если у него есть то, что есть, но я хочу проверить внутри и сопоставить.

Спасибо!

Комментарии:

1. Можете ли вы использовать jQuery?

Ответ №1:

попробуйте getAttribute метод

 var attrValue = document.getElementById("db-1").getAttribute("data-path");
if ( attrValue == "USB/sda1-usb-SanDisk_Cruzer_B" )
{
  //your code here
}
  

Комментарии:

1. Отлично! Я пытался напрямую перейти == но не повезло, странно, но вау, ха-ха, спасибо!

2. @irishwill200 рад помочь!

3. @irishwill200 getAttribute != hasAttribute

4. @gurvinder372 Как вы используете это для точной ссылки на строку, поэтому, если бы я искал USB , и строка была USBs , я бы хотел, чтобы она показывала только один для USB ?:)

5. @irishwill200 в настоящее время он соответствует только точной ссылке на строку, поскольку я использую == operator со значением атрибута.

Ответ №2:

Таким образом?

 let path=document.getElementById("db-1").dataset.path;
if(path==="USB/sda1-usb-SanDisk_Cruzer_B"){
    //do stuff
}
  

Комментарии:

1. Проверьте, что лучше написано в точечной нотации: document.getElementById('db-1').dataset.path

2. так много привык к typescript

Ответ №3:

Свойство HTMLElement.dataset разрешает доступ как в режиме чтения, так и в режиме записи ко всем пользовательским атрибутам данных (data-*), установленным для элемента. Это карта DOMString, по одной записи для каждого пользовательского атрибута данных.

Код:

 var el = document.getElementById('db-1');

if (el amp;amp; el.dataset.path === 'USB/sda1-usb-SanDisk_Cruzer_B') {
  // Your code...
}