Читать идентификатор, начинающийся с # в jquery

Я просматриваю веб-страницу, а div, к которому мне нужно получить доступ, имеет id = "#abc". Я использую cheerio для очистки страницы, поэтому мне нужно сделать это в JQuery, но это не работает:

$('##abc') // undefined

Но он работает с чистым javascript:

getElementById("#abc") // works well

почему ## когда получить идентификатор?

Shree 19.09.2018 14:32

@Shree Потому что id начинается с #?

Scott Marcus 19.09.2018 14:33

потому что значение идентификатора - "#abc", а не "abc".

Jerlam 19.09.2018 14:33

Используйте $('#\\#abc')

undefined 19.09.2018 14:34

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

treyBake 19.09.2018 14:35
api.jquery.com/jQuery.escapeSelector что-то в этом роде?
George 19.09.2018 14:36

попробуйте $("#\\#abc"). Оно работает

chintuyadavsara 19.09.2018 14:38

Замечательно, спасибо всем за ответы, $ ("# \\ # abc") работает!

Jerlam 19.09.2018 14:39
Поведение ключевого слова "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) для оценки ваших знаний,...
1
8
120
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

Попробуйте использовать этот $('#\\#abc'), экранировав любые специальные символы с помощью идентификатора.

Проверить здесь

$(function()
{
 var a  = document.getElementById("#abc")
 
 
 var b  = $('#\\#abc')
 
 $(b).val("test")
});
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type = "text" id = "#abc" />

Теперь вы также можете добавить объяснение Почему, что этот код работает, чтобы отделить его от комментариев, указывающих на то, что это работает.

Luca Kiebel 19.09.2018 14:42

@LucaKiebel, да я пытался отредактировать ответ и теперь добавил

Hary 19.09.2018 14:45

Вы можете попробовать это для ввода (скрытый, текст ..)

$("[id='#abc']").val()

Как предложил @Scott Marcus

Это для всех элементов, не являющихся полями формы:

$("[id='#abc']").html()
$("[id='#abc']").text()

Элементы div не имеют значения. У них есть .text() или .html() (JQuery).

Scott Marcus 19.09.2018 14:40

Да, это зависит от элемента, на который ссылается идентификатор.

ASalameh 19.09.2018 14:42

вы всегда должны объяснять код - никогда не отправляйте просто ответ

treyBake 19.09.2018 17:21

Попробуйте:

$('[id = "#abc"]');

вы всегда должны объяснять код - никогда не публикуйте просто ответ

treyBake 19.09.2018 17:21

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