如何使用带有href锚标记的querySelector?

时间:2018-01-13 11:16:08

标签: javascript jquery

我正在尝试使用dropzone,我有一个锚标记,我需要添加一个事件点击它,但我这样做的方式会返回错误。

HTML:

<a href="#new-intervention">Criar Intervenção</a>

Jquery的:

var myDropzone = this;

this.element.querySelector("a[href=#new-intervention]").addEventListener("click", function(e) {
  e.preventDefault();
  e.stopPropagation();
  myDropzone.processQueue();
 });

然后在控制台中回复我:

Uncaught DOMException: Failed to execute 'querySelector' on 'Element': 'a[href=#new-intervention]' is not a valid selector.

我该怎么做?有什么替代方案?

谢谢

2 个答案:

答案 0 :(得分:1)

错误消息已经将其丢弃。选择器应为a[href='#new-intervention']。请注意href值周围的单引号。

以下是显示选择器工作的简化代码段:

&#13;
&#13;
console.log(document.querySelector("a[href='#new-intervention']"));
&#13;
<a href="#new-intervention">Criar Intervenção</a>
&#13;
&#13;
&#13;

请注意according to the spec,所提供的值必须是有效identifierstring

答案 1 :(得分:0)

你只是错过了href值查询选择器表达式中的引号';

见下面的代码:

document.querySelector("a[href='#new-intervention']").addEventListener("click", function(e) {
  e.preventDefault();
  e.stopPropagation();
  alert("a clicked");
 });
<a href="#new-intervention">Criar Intervenção</a>