Как преобразовать код атрибута html в строку

У меня есть этот js-код:

var my_elem = document.querySelector("[action='/cart/add']");

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

Как я могу это сделать?

Я уже пробовал:

'var my_elem = document.querySelector("[action=\'/cart/add\']");'

но я получил ошибку:

syntax error, unexpected '"') === true) {'
(T_CONSTANT_ENCAPSED_STRING)

ОБНОВЛЯТЬ

 public function start() 
{

      $my_var = '
    
    var my_elem = document.querySelector("\[action=\'/cart/add\']");
    
    
    var a = document.createElement("div");
        a.innerHTML = "<a href = "#" style = "display:none;" id = "link-sz"><small><svg xmlns = "http://www.w3.org/2000/svg" xmlns:xlink = "http://www.w3.org/1999/xlink" viewBox = "0 0 512.002 512.002" style = "width: 20px;"><path d = "M509.502 104.908L407.097 2.502c-3.337-3.337-8.73-3.337-12.067 0L2.502 395.03c-3.337 3.337-3.337 8.73 0 12.067l102.405 102.405c1.596 1.604 3.772 2.5 6.033 2.5s4.43-.896 6.033-2.5L509.5 116.975c1.604-1.596 2.5-3.772 2.5-6.033s-.894-4.43-2.498-6.034zM110.94 491.402l-90.338-90.338 380.46-380.46L491.4 110.94 110.94 491.4zm298.7-414.605c-14.115 0-25.6 11.486-25.6 25.6s11.486 25.6 25.6 25.6 25.6-11.486 25.6-25.6-11.486-25.6-25.6-25.6zm0 34.135c-4.7 0-8.534-3.832-8.534-8.534s3.823-8.534 8.534-8.534 8.534 3.832 8.534 8.534-3.823 8.534-8.534 8.534z"></path><use xlink:href = "#B--inject-1"></use><use xlink:href = "#C--inject-1"></use><use xlink:href = "#B--inject-1" x = "-51.203" y = "51.195"></use><use xlink:href = "#C--inject-1" x = "-51.203" y = "51.187"></use><use xlink:href = "#B--inject-1" x = "-102.405" y = "102.39"></use><use xlink:href = "#C--inject-1" x = "-102.405" y = "102.383"></use><path d = "M164.643 244.95l12.066-12.07 25.6 25.593-12.066 12.07z"></path><use xlink:href = "#C--inject-1" x = "-153.608" y = "153.595"></use><use xlink:href = "#B--inject-1" x = "-204.81" y = "204.796"></use><use xlink:href = "#C--inject-1" x = "-204.81" y = "204.797"></use><use xlink:href = "#B--inject-1" x = "-255.993" y = "256.01"></use><path d = "M36.634 372.976l12.068-12.068 34.135 34.135L70.77 407.11z"></path><defs><path id = "B--inject-1" d = "M318.253 91.37l12.068-12.068 25.603 25.603-12.068 12.068z"></path><path id = "C--inject-1" d = "M292.648 116.973l12.068-12.068 34.135 34.135-12.068 12.068z"></path></defs></svg><span id = "link_text">MY SIZE</span></small></a>";
        a.id = \'myBtn-sz\'; ';
    
    }

Пожалуйста, добавьте код, где вы сравниваете эту строку.

Rian Zaman 26.12.2020 13:28

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

trincot 26.12.2020 13:34

хорошо, я через минуту

Aleks Per 26.12.2020 13:35

Я обновляю свой вопрос @RianZaman

Aleks Per 26.12.2020 13:40
Поведение ключевого слова "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) для оценки ваших знаний,...
2
4
213
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема в том, что традиционный строковый литерал не может охватывать несколько строк, если только вы не поместите один обратный слэш в конце каждой строки (что выглядит плохо). Простое решение — использовать обратные тики вместо одинарных кавычек, так что это шаблонный литерал:

$my_var = ` 
    
    var my_elem = document.querySelector("[action='/cart/add']");
    
    
    var a = document.createElement("div");
        a.innerHTML = "<a href = "#" style = "display:none;" id = "link-sz"><small><svg xmlns = "http://www.w3.org/2000/svg" xmlns:xlink = "http://www.w3.org/1999/xlink" viewBox = "0 0 512.002 512.002" style = "width: 20px;"><path d = "M509.502 104.908L407.097 2.502c-3.337-3.337-8.73-3.337-12.067 0L2.502 395.03c-3.337 3.337-3.337 8.73 0 12.067l102.405 102.405c1.596 1.604 3.772 2.5 6.033 2.5s4.43-.896 6.033-2.5L509.5 116.975c1.604-1.596 2.5-3.772 2.5-6.033s-.894-4.43-2.498-6.034zM110.94 491.402l-90.338-90.338 380.46-380.46L491.4 110.94 110.94 491.4zm298.7-414.605c-14.115 0-25.6 11.486-25.6 25.6s11.486 25.6 25.6 25.6 25.6-11.486 25.6-25.6-11.486-25.6-25.6-25.6zm0 34.135c-4.7 0-8.534-3.832-8.534-8.534s3.823-8.534 8.534-8.534 8.534 3.832 8.534 8.534-3.823 8.534-8.534 8.534z"></path><use xlink:href = "#B--inject-1"></use><use xlink:href = "#C--inject-1"></use><use xlink:href = "#B--inject-1" x = "-51.203" y = "51.195"></use><use xlink:href = "#C--inject-1" x = "-51.203" y = "51.187"></use><use xlink:href = "#B--inject-1" x = "-102.405" y = "102.39"></use><use xlink:href = "#C--inject-1" x = "-102.405" y = "102.383"></use><path d = "M164.643 244.95l12.066-12.07 25.6 25.593-12.066 12.07z"></path><use xlink:href = "#C--inject-1" x = "-153.608" y = "153.595"></use><use xlink:href = "#B--inject-1" x = "-204.81" y = "204.796"></use><use xlink:href = "#C--inject-1" x = "-204.81" y = "204.797"></use><use xlink:href = "#B--inject-1" x = "-255.993" y = "256.01"></use><path d = "M36.634 372.976l12.068-12.068 34.135 34.135L70.77 407.11z"></path><defs><path id = "B--inject-1" d = "M318.253 91.37l12.068-12.068 25.603 25.603-12.068 12.068z"></path><path id = "C--inject-1" d = "M292.648 116.973l12.068-12.068 34.135 34.135-12.068 12.068z"></path></defs></svg><span id = "link_text">MY SIZE</span></small></a>";
        a.id = 'myBtn-sz'; `;

Обратите внимание на обратную галочку в самом начале и в конце литерала шаблона. Вам также больше не нужно экранировать одинарные кавычки (хотя это также работает, если вы их сохраните).

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