1

我有一个函数可以将 dom 元素的文本更改为给定值,例如,更改以下文本:

<a id="btnAdd" href="#" onclick='Persist()' data-role="button" data-icon="plus">Persist</a>

我需要使用这段代码:

domElement.find('.ui-btn-text').text('testing');

如您所见,我需要调用.find('.ui-btn-text'). 有没有办法确定“数据角色”(在这种情况下是“按钮”),所以我可以使用正确的“东西”(例如“.ui-btn-text”)来使用 - 我认为这被称为一个 CSS 类?,不确定。

未完成的功能:

        function SetDomElementText(elementId, value) {
            //get the domElement
            var domElement = $('#' + elementId);

            //check if it exists
            if (domElement.length === 1) {

                switch(domElement.get(0).tagName.toLowerCase()) {
                    case 'label':
                        domElement.text('testing');
                        break;
                    case 'a': //link
                        //I need to determine what the data-role is here.
                        domElement.find('.ui-btn-text').text('testing');
                        break;
                }
            }
        }
4

1 回答 1

4

您可以像获取任何其他 HTML 属性一样获取它。

var datarole = $(selector).attr('data-role');

或者,jQuery 也data-*自动获取属性值,因此您可以通过以下方式访问它.data()

var datarole = $(selector).data('role');  // data-role
于 2012-06-21T11:49:18.557 回答