嘿,Dojo(版本8)可以在不知道ID和类的情况下获得输入标记,这样我就可以更改输入框的样式了吗?所有输入框(我有8个)都有相同的类名。
请注意,我无法在网页上编辑以下代码。我只能使用“onShow”属性
<input
dojoattachpoint="textbox,focusNode,_aroundNode"
dojoattachevent="onblur:onBlur,onfocus:onFocus,onkeyup:onKeyUp"
id="2c6af1dc-80cb-44f2-864d-1fb00216895dF_SingleLine-widget"
name=""
class="dijitReset dijitTextBox notDojoDndHandle"
type="text"
tabindex="0"
aria-label="text"
width="auto"
value=""
aria-describedby="2c6af1dc-80cb-44f2-864d-1fb00216895dF_SingleLine-widget-placeholder"
style="max-width: 2.5em; width: 90%;">
<span
class="dijitPlaceHolder dijitInputField"
id="2c6af1dc-80cb-44f2-864d-1fb00216895dF_SingleLine-widget-placeholder"
style="max-width: 2.5em; width: 90%;">
Ex: Bob
</span>
我认为最简单的方法是找到 Ex:Bob ,然后退回一个元素,理论上它将在输入框部分,但我不确定是否/如何做如果它甚至可以在第一时起工作。
任何帮助都会很棒!谢谢!
更新
dojo.query("span.dijitPlaceHolder.dijitInputField").forEach(function(node, index, arr){
if (node.innerHTML === 'Ex: Bob') {
var foundIt = dojo.query(node).prev();
dojo.addClass(foundIt, "testClass");
}
});
它永远不会在输入类中放入 testClass 。
而不是我需要做的事情:
class="dijitReset dijitTextBox notDojoDndHandle testClass"
它仍然有这个:
class="dijitReset dijitTextBox notDojoDndHandle"
答案 0 :(得分:0)
您是否可以访问支持模板的javascript文件?如果是这样,您可以从附加点引用它。
this.textbox
虽然我不确定为什么你的输入对象有这么多的附加点。
如果这不起作用,那么如何唯一标识输入框?是输入的类型吗?这是他们的立场吗?如果是这样,您可以使用dojo / query来处理此问题。您可以找到dojo / query here
的文档