angularjs无法执行querySelector

时间:2017-05-17 02:30:05

标签: javascript angularjs html5 cordova ionic-framework

我在离子1 / angularjs cordova应用程序中收到以下错误。 无法执行' querySelector'在'文件':'#04'不是有效的选择器。

我在html中动态构建id,然后在我的控制器中获取所选的id。

<label id="{{levelIndex}}0" class="{level-selected:false}">{{vm.config.tones[0]}}</label>

我的目标是只为所选项目分配一个类。

vm.selectLevelTone = function (level, tone) {
        var selection = JSON.parse(localStorage.getItem('hairSelection')) || {};
        selection.starting = {
            level: level,
            tone: tone
        }

        localStorage.setItem('hairSelection', JSON.stringify(selection));
        vm.selectedStartLevel = config.levels[level];
        vm.selectedStartTone = config.toneDesc[tone];
        var levelTone = '#' + level + tone;
        var note = angular.element(document.querySelector(levelTone));
        note.addClass('level-selected');
        $state.go('level-ending', { cId: $stateParams.cId });
    };

我尝试按ID使用get元素,但这也不起作用。

根据这篇文章Using querySelector with IDs that are numbers,我需要逃避这个数字。我试图使用&#34; \&#34;来构建我的id。 +级别但我在转义字符上收到错误。 我最终使用以下内容获取元素。             var levelTone = '#' + level + tone;
var res = levelTone.substring(1, levelTone.length); var note = document.querySelector('[id="' + res + '"]')
在第一行中,我将#添加到我的音高+音调,以便整数将附加,而不是添加 在第二行,我删除#符号(我知道必须有一个更简单的方法,只是不知道它是什么。) 在第3行,我接受了菲尔的建议并使用&#39; [id =&#34;&#39; + res +&#39;&#34;]&#39; 现在我在note.addclass行上收到错误。

0 个答案:

没有答案