0

我今天的问题围绕着 Websphere JSP 环境中的 javascript 世界...

我有一个有点像这样的代码:

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

我知道我可以直接查找该 id,但这是在 Websphere 门户中,我“应该”能够通过 document.getElementById() 直接链接到它,但我总是需要获取前一个 div 的 id .
(它最终成为带有命名空间的 portlet id,因为有时这些 portlet 可能会被复制,所以我只想专门针对一个)

我有什么办法可以做到这一点?
提前致谢。

4

3 回答 3

1

根据您的要求,我发布了我之前的评论作为答案,更详细一点:如果问题whatIwantToGetTo不是以命名空间为前缀,因此您最终会在页面上使用具有相同 id 的多个元素,您应该将您的 JSP 重写为命名空间的所有id属性也是如此。无论如何都应该这样做(也就是说,如果您可以修改 HTML),至少如果 portlet 有可能在任何页面上出现多次!

但是,当您使用的是 WebSphere Portal 7 时,您很可能拥有 Dojo,并且您可以像这样利用它的 CSS 样式选择器机制:

var inputElement = dojo.query('#randomId > input');
于 2011-08-03T20:11:24.697 回答
0

如果你可以使用 jQuery,你可以这样做:

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

看这里

纯 javascript 替代方案是这样的: alert(document.getElementById('objectIWant').parentNode.id);

看这里

于 2011-08-03T16:07:33.007 回答
0

你想要的是

document.getElementById ('whatIwantToGetTo').parentNode
于 2011-08-03T16:05:35.513 回答