选择器中的字符串始终为null,尽管不为空->无法识别的表达式/ null不是对象

时间:2018-11-05 12:11:44

标签: javascript php jquery

我在这里撞墙。 我在javascript中有一个字符串,我只想选择具有相应ID的DOM元素。 (在此示例中,我需要模拟一次点击。但是hide()也不起作用...)

options.forEach(function(option) {
    if(option){ //not really necessary
        console.log('#'+option);
        $('#'+option).click();
    }
});

它给了我以下输出: Console Output

当然,我也尝试了javascript方法:

options.forEach(function(option) {
    if(option){ //not really necessary
        console.log('#'+option);
        document.getElementById('#'+option).click();
    }
});

这的控制台结果是: Console Output

这是怎么了?我似乎无法选择该元素(肯定存在。 有人可以帮忙吗?

致意并预先致谢 麦克风

3 个答案:

答案 0 :(得分:0)

我会说问题出在您的阵列上。没有看到您的数组,我猜您数组中的字符无法正常工作,因为它是“意外”。

这是一个有效的示例,只是为了向您展示它正在工作

var options = ['29120'];
$('#test').on('click', function() {
  $.each(options, function(i, obj) {
    $('#' + obj).click();
  });
});

$('#29120').click(function() {
  $('div').hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="abc">abc</div>
<div id="cde">cde</div>
<div id="">29120</div>
<button id="29120">hide</button>
<button id="test">Test</button>

答案 1 :(得分:0)

好吧,我的字符串中有一个特殊字符。 我正在尝试接收“ 29120,29121”之类的字符串,然后使用split方法从中获取数组。

但是当字符串被分割时,该符号出现:“29120↵” 现在,我不知道它来自哪里。

但是我一直在挖。

谢谢!

答案 2 :(得分:0)

好,我发现了问题...。 真是愚蠢...

是我的Ajax文件,在php的?>之后,是一个换行符... 这会导致特殊符号... facepalm

很抱歉打扰您,感谢您的帮助

问候!