Как вставить динамический c объект - PullRequest
0 голосов
/ 07 января 2020

Вот вопрос JS (на примере google.com):

 let postNumber = $("div[id^='product-']").attr("id");
const productId = "product-",
            AWS = "https://google.com/bar-images/SPECSHEET_PDF/";

let foo = {

    "28162":  AWS + "R3CRDT_DIMTOWARM_SPSHT.pdf",
    "28163":  AWS + "R3CRPT_DIMTOWARM_SPSHT.pdf",
    "28164":  AWS + "R3CRWT_DIMTOWARM_SPSHT.pdf",
    "28165":  AWS + "R3CRDL_DIMTOWARM_SPSHT.pdf",
    "28166":  AWS + "R3CRPL_DIMTOWARM_SPSHT.pdf",
    "28167":  AWS + "R3CRWL_DIMTOWARM_SPSHT.pdf",
    "28168":  AWS + "R3CRDT_DIMTOWARM_SPSHT.pdf",
    "28169":  AWS + "R3CRDT_DIMTOWARM_SPSHT.pdf",
    "28170":  AWS + "R3CRDT_DIMTOWARM_SPSHT.pdf",
    "28171":  AWS + "R3CRDT_DIMTOWARM_SPSHT.pdf",
    "28172":  AWS + "R3CRDT_DIMTOWARM_SPSHT.pdf",
    "28173":  AWS + "R3CRDT_DIMTOWARM_SPSHT.pdf"

  };

  $("div[id='product-" + postNumber + "] ul#dropdown-download-links > li > ul > li:last-of-type").href(foo[]);

Имейте в виду, AWS - это просто c URL для файлов.

Как получить динамическую c версию значения ссылки .href(), используя скобочную запись с объектом foo. Как видите, у меня есть оператор jQuery для получения URL-адреса из вышеуказанного объекта. Я просто не могу понять последнюю часть, где я бы динамически ввел .href(foo[something]);? Любые идеи? Или, может быть, лучший способ сделать это?

1 Ответ

0 голосов
/ 07 января 2020

Я думаю, что вы забыли обрезать некоторую часть id элемента div.

Изменение вашей первой строки на let postNumber = $("div[id^='product-']").attr("id").replace('product-', ''); позволит вам использовать postNumber в качестве ключа (.href(foo[postNumber]); ).

Кроме того, я думаю, что тогда ваш выбор будет работать так, как вы хотели.

...