Проще говоря, пытаясь вставить значения простого ответа в массив jquery.

< Сильный > HTML

<div class="answer-A">
    <a href="#question2" value="A">
        <p style="color: white;">THOMAS EDISON</p>
    </a>
</div>
<div class="answer-B">
    <a href="#question2" value="B">
        <p style="color: white;">ALBERT EINSTEIN</p>
    </a>
</div>
<div class="answer-C">
    <a href="#question2" value="C">
        <p style="color: white;">NELSON MANDELA</p>
    </a>
</div>

< Сильный > Jquery

var finalAnswers = [''];

$(document).ready(function () {
     $('.answer-A').finalAnswers.push();
     console.log(finalAnswers);
});

Вероятно, не следует использовать значение - возможно, есть гораздо более простой способ?

-2
erayner 9 Янв 2017 в 05:09

3 ответа

Лучший ответ

Если я правильно понял ваш вопрос, я создал эту скрипку с подходом для выполнения вашей задачи:

https://jsfiddle.net/mrlew/hvr9ysq6/

HTML:

<div class="answer-A">
    <a href="#" data-value="A">
        <p style="color: white;">THOMAS EDISON</p>
    </a>
</div>
<div class="answer-B">
    <a href="#" data-value="B">
        <p style="color: white;">ALBERT EINSTEIN</p>
    </a>
</div>
<div class="answer-C">
    <a href="#" data-value="C">
        <p style="color: white;">NELSON MANDELA</p>
    </a>
</div>

Js:

var finalAnswers = [];

$(document).ready(function () {

     $("a[data-value]").on("click", function(e) {
        var value = $(this).attr('data-value');
        finalAnswers.push(value);
       alert("Answers so far: " + finalAnswers.join(","));
        e.preventDefault();
     });

});
0
mrlew 9 Янв 2017 в 03:19

Вот пример для вашего комментария о том, как вы хотите увеличить значение, которое пользователь нажимает.

var finalAnswers = [];

$(".answer-A, .answer-B, answer-C").click(function(){

    var value = $(this).children("a").attr("value");
    finalAnswers.push(value)
});
0
Tonza 9 Янв 2017 в 03:24

Используйте селектор, который соответствует div с классом, который начинается с answer и их якорными потомками

div[class^="answer-"] a

Переберите эти элементы и получите их атрибут значения. Как это:

var finalAnswers = [''];

$(document).ready(function () {
     $('div[class^="answer-"] a').each(function(i,v){
            finalAnswers.push($(v).attr("value"));
     });
     console.log(finalAnswers);
});

Скрипка

https://jsfiddle.net/1gmn1w1b/

0
james_bond 9 Янв 2017 в 16:56