Reputation: 1609
My code goes something like this -
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
<script type='text/javascript'>
var random_generator;
document.write('Random Selection: ');
var arr=['One','Two','Three','Four','Five','Six','Seven','Eight','Nine','Ten'];
var randomnumber=Math.floor(Math.random()*10);
random_generator=arr[randomnumber];
document.write(random_generator+ '<br>');
</script>
<style type="text/css">
</style>
<a href='www.xyz.com/Index1/Index2/Variable/Index4'>Good Morning</a>
</head>
<body>
</body>
</html>
In place of Variable in the tag, I want to use random_generator Javascript variable. How do I do that? Thanks in Advance.
NOTE: random_generator doesn't replace the entire link. Only a part of the link (/Variable/). Depending on this value, the user is shown different pages.
Upvotes: 4
Views: 23271
Reputation: 2536
Or maybe you could just write the link as inline js.
<script>
document.write('<a href="http://www.xyz.com/Index1/Index2/' + random_generator + '/Index4">hello</a>');
</script>
Upvotes: 7
Reputation: 2120
I am not sure if i understand your problem. But the following should work if you are trying to dynamically set the link to href (assuming you are not using jquery).
<a href='http://www.xyz.com/Index1/Index2/Variable/Index4' id="index">Good Morning</a>
<script>
var newUrl = document.getElementById('index').href;
newUrl = newUrl.replace("Variable", random_generator);
document.getElementById('index').href = newUrl;
</script>
Upvotes: 1
Reputation: 1604
As far as I know this would not be possible. You could do one of two things:
1 Change the HREF attribute when the document loads. With JQuery you could do something like
$(function() {
$('a').attr('href', 'www.xyz.com/Index1/Index2/' + random_generator + '/Index4');
});
2 Catch the click event and redirect it with javascript, this would mean even if the user clicked the link multiple times without refreshing the page it would be random.
$(function() {
$('a').on('click', function(e) {
e.preventDefault();
window.location = 'www.xyz.com/Index1/Index2/' + random_generator + '/Index4';
});
});
If you don't wish you use jquery I'm sure there's plenty examples online to do this with plain javascript.
Upvotes: 0
Reputation: 3462
pretty sure this will wrk
document.getElementById('myHref').href = variable;
Upvotes: 0
Reputation: 1571
You can use jQuery to update the dom element when the script gets executed
First you must give an id to your href
<a href="#" id="myHref"
and then
$('#myHref').attr('href', variable)
Or you can change the link text
var varText = "This is a link"; $('#myHref').text(varText);
Upvotes: 0