将值推送到jquery数组

时间:2017-01-09 02:09:59

标签: javascript jquery

简单地说,尝试将简单的答案推送到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);
});

可能不应该使用价值 - 这可能是一种更容易的方式吗?

3 个答案:

答案 0 :(得分:0)

使用与div匹配的选择器,其类以answer开头,其子锚

div[class^="answer-"] a

迭代这些元素并获取它们的value属性。像这样:

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/

答案 1 :(得分:0)

以下是关于如何推送用户点击价值的评论示例。

var finalAnswers = [];

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

    var value = $(this).children("a").attr("value");
    finalAnswers.push(value)
});

答案 2 :(得分:0)

如果我正确地理解了你的问题,我就会用一种方法来创造这个小提琴:

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();
     });

});