首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >dojo.getAttr不是一个函数

dojo.getAttr不是一个函数
EN

Stack Overflow用户
提问于 2013-03-21 03:13:46
回答 1查看 696关注 0票数 0

我正在用dojo 1.6编写一个可以修改属性值的Dojo函数:

代码语言:javascript
复制
    function replaceAttributeDojo(obj, attrName, newValue) {
        var value = dojo.getAttr(obj, attrName);
        if (value !== 'undefined') {
            //console.log('Found attribute '+attrName+' on object '+obj.attr('nodeName')+'[id='+obj.attr('id')+', name='+obj.attr('name')+', widgetid='+obj.attr('widgetid')+']');
            if (value == '') {
                //console.log('Attribute value is empty, removing the attribute');
                //obj.removeAttr(attrName);
                return;
            }
            var newAttrValue = value.replace(/[\d]+/g, newValue);
            dojo.setAttr(obj, attrName, newAttrValue);
        } else {
            //console.log('Did not find attribute '+attrName+' on object '+obj.attr('nodeName')+'[id='+obj.attr('id')+', name='+obj.attr('name')+', widgetid='+obj.attr('widgetid')+']');
        }
    }

跟踪代码并找到此行上丢失的firebug

代码语言:javascript
复制
var value = dojo.getAttr(obj, attrName);

它告诉我

代码语言:javascript
复制
dojo.getAttr is not a function

该函数在dojo.ready外部定义,但在dojo.ready()内部调用。

下面是在dojo.ready()中调用函数的部分

代码语言:javascript
复制
dojo.query("div, input, select", row).forEach(function(){
    replaceAttributeDojo(row, 'id' , index);
    replaceAttributeDojo(row, 'name' , index);
    replaceAttributeDojo(row, 'widgetid' , index);
});

dojo.ready()中同一页面上的所有东西都工作得很好,那么这怎么可能呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-21 03:25:26

如果obj是DOM节点:

代码语言:javascript
复制
var val = dojo.attr(node, attrName); // getter

dojo.attr(node, attrName, newValue); // setter

http://dojotoolkit.org/reference-guide/1.6/dojo/attr.html

如果obj是一个Widget:

代码语言:javascript
复制
var val = widget.get(attrName); // getter

widget.set(attrName, newValue); // setter

http://dojotoolkit.org/reference-guide/1.8/dijit/_WidgetBase.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15532660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档