I'm making an userscript for Instagram.
What I want to do is to change an <a>
tag's href. This tag doesn't have any ID/class.
I already found how to select it:
var x = document.querySelector(".oJZym").getElementsByTagName("a");
x[0]
I want it to open a new tab to https://instagram.com/nukl3ar_p/ . I've already tried:
var x = document.querySelector(".oJZym").getElementsByTagName("a");
x[0].href = "https://instagram.com";
or
var x = document.querySelector(".oJZym").getElementsByTagName("a");
x[0].onclick = window.open("https://instagram.com/nukl3ar_p/", "_blank");
But it keeps redirecting me without even having clicked it. How to fix?
Try this, use CSS Selector >
to get the child <a>
then set href.
var x = document.querySelector(".oJZym>a");
x.href = "https://instagram.com/nukl3ar_p/";
x.target ='_blank';
<div class="oJZym" ><a href="/">Test</a></div>
You can use the d3 library to modify it like this:
<script src="https://cdn.jsdelivr.net/npm/d3@7"></script>
<script>
const div = d3.select(".oJZym").select("a")
.attr("href","https://instagram.com/nukl3ar_p/")
.attr("target","_blank");
</script>
This script will use the d3 library to select the hyperlink within the ".oJZym" class and set its href and target attribute.
Try these line..
var x = document.querySelector("oJZym + a")
x[0].href = "https://instagram.com";