Добавление тега href в Javascript

Я делаю тест на основе этого:

https://jsfiddle.net/thebobbyblack/xgf9k2hw/

И я не могу понять, как добавить ссылки в "правильную" строку ответа викторины.

В идеале это было бы по частям текста в ответе на правильный ответ, но я бы также согласился на отдельный текст. строка под ответом на вопрос ответ.

Для последнего я пробовал:

Вопрос:

var quiz = [
{
             "question"      :   "Q1: How many locations in Syria does the UN classify as besieged?",
        "image"         :   "",
        "choices"       :   [
                                "Zero",
                                "One",
                                "Four",
                                "Nine"
                            ],
        "correct"       :   "Zero",
        "explanation"   :   "The UN used to classify nine locations and more than 417,000 people as living under siege, but all these places, including formerly rebel-held Eastern Ghouta, have now either been evacuated or retaken by the Syrian government.",
 "link" : "http://www.hamsterdance.com",
 }

Но этот код не помогает:

if (quiz[currentquestion].hasOwnProperty('link') && quiz[currentquestion]['link'] != ""){
            if ($('#question-image').length == 0){
                $(document.createElement('a'))
                    .addClass('question-image')
                    .attr('id', 'question-image')
                    .attr('src', quiz[currentquestion]['link'])
                    .attr('alt', htmlEncode(quiz[currentquestion]['question']))
                    .insertAfter('#question');
            } else {
                $('#question-image')
                    .attr('href', quiz[currentquestion]['link'])
                    .attr('alt', htmlEncode(quiz[currentquestion]['question']));
            }
        } else {
            $('#question-image').remove();
        }

Я нашел кое-что, что действительно работает! Теперь я просто не могу понять, как передавать элементы из массива в качестве целевого URL. Этот код позволяет мне выбирать из массива для создания текста ссылки.

$('<a>').addClass('linktext').attr('id','link').html('').text(quiz[currentquestion]['link']).insertAfter('#explanation'); 

Что мне следует искать в документации jquery? Любая помощь очень ценится.

Образы имеют src, ссылки имеют href, а не наоборот.

Sebastian Simon 27.12.2018 19:06

Кстати, вместо $(document.createElement('a')) вы можете просто написать $('<a>'). И вы можете поместить все атрибуты в аргумент объекта: $('<a>', {"class": "question-image", id: "question-image", "href": quiz[currentquestion].question});

Barmar 27.12.2018 19:15

Вам не нужно использовать кодировку HTML при добавлении атрибутов в JavaScript. Это необходимо только тогда, когда атрибут находится в исходном HTML.

Barmar 27.12.2018 19:16
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
80
1

Ответы 1

Решено! Спасибо за помощь!

$('<a>').addClass('linktext').attr('id','linktext').attr('href',(quiz[currentquestion]['linkurl'])).html('').text(quiz[currentquestion]['link']).insertAfter('#explanation');   

Добавление "linkurl" в мой массив. Скрипка здесь и этот вопрос об обмене стеками тоже действительно помогли: Как создать ссылку с помощью javascript?

Еще раз спасибо

Другие вопросы по теме