【发布时间】:2018-01-21 07:50:47
【问题描述】:
我对 JSP 非常陌生,并试图引用当前的活动元素。我正在使用 Pega BPM 并尝试使用 JSP 编写自定义控件。我正在寻找的是如何引用当前的活动元素。我想将红色应用于当前活动元素。我尝试使用以下但没有运气 -
<script type="text/javascript">
var colorField=document.getElementById(this);
colorField.style.color=red;
</script>
编辑:当前元素是我关注的焦点
编辑 2: html 如下所示。我需要将测试值的颜色更改为红色。这是一个自动生成的 html,所以我需要在我身边写一个 jsp/html 来改变颜色 --
<div class="content-item content-paragraph item-1 flex " style="" data-ui-meta="{'type':'Çell'}">test value</div>
类 content-item content-paragraph 中有许多其他元素遵循以下模式 -
content-item content-paragraph item-2
content-item content-paragraph item-3
content-item content-paragraph item-4
.....
【问题讨论】:
-
在您的代码中,
this是当前窗口,因为您的代码不在事件处理程序中。ById给你一个提示。您需要var colorField=document.getElementById('IdOfColorField');,在其中将 IdOfColorField 替换为您可以在视图源或某些 JSP 变量中看到的实际 ID。 PS:你的代码里根本没有JSP -
这就是我的问题——有什么方法可以获取当前元素的 id?我正在尝试通过引用当前元素来使这个 JSP 动态化。知道这指的是当前窗口,但有什么方法可以引用当前元素吗?
-
什么是“当前元素”你关注的东西?然后你需要做类似
var elements = document.querySelectorAll('tagname'); for (var i=0;i<elements.length;i++) { elements[i].onclick=function() { this.style.color="red"; }}之类的操作 - 将标记名替换为例如“div”或“input”或“.className”——注意在 onclick 处理程序中,this是元素 -
是的,我的意思是我专注的事情。以上并没有真正帮助。有什么方法可以动态获取元素ID?就像我不知道元素 id 是什么一样。
-
您发布的代码/信息太少,我无法回答您的问题。我的代码按类型或类访问元素而不需要 ID。请在minimal reproducible example 中发布具有预期结果的渲染 HTML