2

I need to retrieve an element in an html document. I can't update the html so I can't add a class or an id. And the class used here can pobliby be used in another place in the code. Here is the element :

<a href="javascript:void(0);" title="M'affecter cette demande" data-aura-rendered-by="1314:0" class="forceActionLink" data-aura-class="forceActionLink">
      <div class="slds-truncate" title="M'affecter cette demande" data-aura-rendered-by="1315:0">M'affecter cette demande</div>
</a>

So I want to retrieve the <a> element, by using the title attribute. In javascript I try that :

var bouton = document.querySelector("[title = \'M'affecter cette demande\']");

But I got an error :

Uncaught DOMException: Failed to execute 'querySelector' on 'Document': '[title = 'M'affecter cette demande']' is not a valid selector.

How can I retrieve this element ?

2

3 Answers 3

2

Use this selector instead: [title="M\'affecter cette demande"]

var elem = document.querySelector('[title="M\'affecter cette demande"]');

console.log(elem);
<a href="javascript:void(0);" title="M'affecter cette demande" data-aura-rendered-by="1314:0" class="forceActionLink" data-aura-class="forceActionLink">
      <div class="slds-truncate" title="M'affecter cette demande" data-aura-rendered-by="1315:0">M'affecter cette demande</div>
</a>

Sign up to request clarification or add additional context in comments.

Comments

2

You can simply use this selector:

var a = document.querySelector('a[title="M\'affecter cette demande"]');
console.log(a);
<a href="javascript:void(0);" title="M'affecter cette demande" data-aura-rendered-by="1314:0" class="forceActionLink" data-aura-class="forceActionLink">
  <div class="slds-truncate" title="M'affecter cette demande" data-aura-rendered-by="1315:0">M'affecter cette demande</div>
</a>

Comments

1

Using double quotes ":

you'll have to escape the inner double quotes:

"[title = \"M'affecter cette demande\"]"

Using single quotes ':

you'll have to escape the inner single quote:

'[title = "M\'affecter cette demande"]'

Using template literal `:

you don't have to escape anything:

`[title = "M'affecter cette demande"]`

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.