Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обращение через JQuery к нестандартному ID (https://javascript.ru/forum/misc/56094-obrashhenie-cherez-jquery-k-nestandartnomu-id.html)

Alex1233 29.05.2015 13:39

Обращение через JQuery к нестандартному ID
 
Здравствуйте!

Есть такая CMS - DLE. Там, самим движком, в одном, нужном мне для обращения, через JQUERY, месте используются ID такого вида:

<input id="xfield[name1]"...

<input id="xfield[name2]"...

<input id="xfield[name3]"...


Подскажите пожалуйста, как обращаться к такого вида ID?

Такая конструкция не работает (по всей видимости из-за квадратных скобок):

$("#xfield[name1]").attr("value", "123");

indeterm 29.05.2015 13:45

Вы всегда можете к нему обратится через window. При использовании детских игрушек, выполнения, непосредственно, js никто не отменял.
<html>
<head>
</head>
<body>


<p id="foo[bar]"></p>


<script>

alert(window["foo[bar]"])

</script>

</body>
</html>

Alex1233 29.05.2015 13:50

"Детские игрушки" - это как я понимаю JQUERY в Вашем понимании?

А есть какая нибудь возможность обращения именно через JQERY? Мне нужно будет очень много манипуляций, зависимых друг с другом, через него делать с этими инпутами + с чистым JS у меня туго с познаниями, а с JQUERY намного лучше.

indeterm 29.05.2015 13:58

<html>
<head>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
</head>

<body>

<p id="[foo]"></p>

<script>

$(window["[foo]"]).attr("value", "123")

alert(window["[foo]"].getAttribute("value"))

</script>

</body>
</html>

indeterm 29.05.2015 13:59

Цитата:

Сообщение от Alex1233
а с JQUERY намного лучше.

в жеквери нет никаких "познаний". У Вас в голове "сборник рецептов", не более того.

рони 29.05.2015 14:04

Alex1233,
не attr а val + Rise,
$('[id="xfield[name1]"]').val("123")

Alex1233 29.05.2015 14:04

Цитата:

Сообщение от Rise (Сообщение 373097)
Alex1233,
$('[id="xfield[name1]"]')

Спасибо Вам огромное, работает!!! =)

Alex1233 29.05.2015 14:08

Цитата:

Сообщение от рони (Сообщение 373098)
Alex1233,
не attr а val + Rise,
$('[id="xfield[name1]"]').val("123")

Это я для примера набросал, и там изначально вообще "title" присваивался, просто потом поменял на "value" так как - заметнее. На самом деле там вообще нужно совсем другое с этим элементом сделать - и не один раз. Просто нужно было узнать как к этому элементу обращаться.

PS: Все равно ведь работает и так и так =)

Вопрос закрыт, спасибо! )

Alex1233 29.05.2015 14:19

Цитата:

Сообщение от Rise (Сообщение 373101)
Alex1233, так еще можно
$("#xfield\\[name1\\]")

Спасибо, тоже закину в копилку знаний! )

Так и попроще запомнить =)


Часовой пояс GMT +3, время: 14:09.