【问题标题】:How do I call a specific element from a dynamic form input?如何从动态表单输入中调用特定元素?
【发布时间】:2011-08-02 03:34:30
【问题描述】:

我有一个表单输入,用于 dashcode 中的列表。我正在尝试从我的列表中指定一个特定项目,以便我可以使用下面的代码,但我不知道如何。

function fadeout(event)
{
// Values you provide
var itemToFadeOut = document.getElementById("text2");   // replace with name of element to fade

// Fading code
var fadeHandler = function(a, c, s, f){ itemToFadeOut.style.opacity = c; };
new AppleAnimator(8500, 13, 1.0, 0.0, fadeHandler).start();}

当我运行它时,它说 itemToFadeOut 为 null,我理解这是因为该元素没有 Id,它只是一个类。如何从我的动态列表中获取特定元素的 id?

【问题讨论】:

    标签: javascript element dynamic getelementbyid dashcode


    【解决方案1】:

    您没有提供列表的任何详细信息或您希望如何访问它,因此建议只能是一般性的。

    如果您可以访问表单并且该控件具有名称,则您可以获得对表单控件的引用。如果名称是有效标识符:

    var control = form.elements.elementName;
    

    var control = form.elementName;
    

    否则你可以使用:

    var control = form.elements[elementName];
    

    var control = form[elementName];
    

    如果有多个同名,可以使用数字索引:

    var control = form[elementName][index];
    

    var control = form.elements[elementName][index];
    

    或者如果你只知道它是哪一个,你可以通过索引得到它:

    var control = form.elements[index];
    

    var control = form[index];
    

    如果你想给一个元素一个id(或改变它的当前ID),只需赋值:

    element.id = 'whatever';
    

    这些有帮助吗?

    【讨论】:

      【解决方案2】:

      您可以使用以下语法定位特定的行元素:

      rows[i].object.templateElements.<NAME_OF_THE_ELEMENTS_CLASS>.style
      

      您在 Dashcode GUI 中给它的名称在哪里(但不带 _template 附录),i 是特定行的索引(您在 prepareRows 函数中获得索引)。

      例子:

      rows[0].object.templateElements.text1.style
      

      其中为 text1 自动生成的 css 类名是 text1_template。

      希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 2020-04-07
        • 2011-02-10
        • 2013-09-18
        • 1970-01-01
        • 2020-05-15
        • 2019-10-21
        • 2017-03-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多