JSP, Javascript, получение ElementId в другом Id - PullRequest
0 голосов
/ 03 августа 2011

мой вопрос сегодня вращается вокруг мира javascript в среде Websphere JSP ...

У меня есть код, похожий на этот:

<div id="randomDynamicId">
    <input id="whatIwantToGetTo">
</div>

Я знаю, что мог бы просто искать этот идентификатор напрямую, но это на портале Websphere, я "должен" иметь возможность ссылаться на него напрямую с помощью document.getElementById (), но мне всегда нужно получать идентификатор предыдущий див.
(в итоге он становится идентификатором портлета с пространством имен, и, поскольку иногда эти портлеты могут быть реплицированы, я хочу указать только один из них)

Каким образом я мог бы это сделать?
Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 04 августа 2011

В соответствии с вашим запросом, я публикую свой предыдущий комментарий в качестве ответа, немного более детально проработанный: если проблема в том, что whatIwantToGetTo не имеет префикса пространства имен, так что вы получите несколько элементов с одинаковым идентификатором на своей странице,Вам следует переписать свой JSP, чтобы пространство имен также соответствовало всем атрибутам id.Это, вероятно, должно быть сделано в любом случае (если вы можете изменить HTML, то есть), по крайней мере, если существует возможность появления портлета более одного раза на любой странице!

Однако, поскольку вы работаете с WebSphere Portal 7, скорее всего, у вас есть Dojo, и вы можете использовать его механизм выбора в стиле CSS следующим образом:

var inputElement = dojo.query('#randomId > input');
0 голосов
/ 03 августа 2011

Если вы можете использовать jQuery, вы можете сделать это следующим образом:

var parent = $('#whatIwantToGetTo').parent();

Смотрите здесь

Чистая альтернатива javascript выглядит примерно так: Оповещение (document.getElementById ( 'objectIWant') parentNode.id.);

Смотрите здесь

0 голосов
/ 03 августа 2011

То, что вы хотите, это

document.getElementById ('whatIwantToGetTo').parentNode
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...