У меня есть HTML-форма, подобная этой: Как я могу выбрать Серый / Серебряный из заголовка данных ?

 <div class="value">
   <div class="color-box grey-silver-color-gradient" data-title="Grey / Silver" data-toggle="tooltip" data-original-title="" title=""></div>
</div>

Я написал свой код, но не получил результат. Вот

var data = $('.value').data('title');
console.log(data);

Пожалуйста, помогите мне. заранее спасибо

6
Doo Doo 16 Дек 2015 в 11:28

6 ответов

Лучший ответ

Ваша проблема в том, что data-title находится на дочернем элементе .value.

Пытаться:-

var data = $('.value > .color-box').data('title');
console.log(data);

Или

var data = $('.color-box').data('title');
console.log(data);
4
BenG 16 Дек 2015 в 08:34

Вы можете выбрать его методом jquery следующим образом

$(selector).data('name');

В твоем случае вот так

var data = $('.value > .color-box').data('name');
2
Amin Kodaganur 16 Дек 2015 в 08:35

Вы можете использовать attr ()

var data = $('.value div').attr('data-title');
1
lotch 16 Дек 2015 в 08:43

Ты должен сделать

var data = $(".color-box.grey-silver-color-gradient").data("title");
console.log(data);
2
void 16 Дек 2015 в 08:30

Вы можете получить атрибут из тега, используя attr из jquery

Примере:

$('*[userattribute]').attr('userattribute');
2
Brane 16 Дек 2015 в 08:31

Вы выбираете один элемент, а затем ожидаете получить свойство другого элемента. $('.value') выбирает родительский div того, который вы хотите выбрать.

Вы должны попробовать это, придерживаясь специфического для потомка $('.value'):

var data = $('.value .color-box.grey-silver-color-gradient').data("title");
console.log(data);

Или любой дочерний элемент, у которого атрибут data-title имеет значение:

var data = $(".value [data-title!='']").data("title");
console.log(data);

Jsfiddle: https://jsfiddle.net/o3ffptj3/1/

2
Dhunt 16 Дек 2015 в 08:39