我知道这可能看起来很简单,但我很难找到一种方法来选择课程并改变只有href ..这里是html ......
<a href="http://www.something" class="theclassname">LEARN MORE</a>
到目前为止,使用javascript ...
$('.theclassname').click(function(){
(change the href to www.awesome.com)
});
到目前为止,我真的非常感谢alll的答案...我需要更改href,但不要转到它已更改为的URL,直到用户再次点击为止...到目前为止,实际的代码是...
$('.hrefclass').click(function () {
e.preventDefault();
$(this).attr("href", "http://www.google.org/");
$('.kwicks').kwicks({
maxSize: '100%',
behavior: 'menu'
});
});
然而这似乎不起作用。
最新
好的,所以添加return false确实有效,但也阻止kiwcks函数运行...我怎么能绕过这个?
$('.hrefclassname').one("click", function() {
$('.kwicks').kwicks({
maxSize: '100%',
behavior: 'menu'
});
$(this).attr("href", "http://www.gooogle.org/");
return false;
});
最新的
$('.HREFCLASSNAME').one("click", function() {
e.preventDefault();
$(this).attr("href", "http://www.GOOGLE.org/");
$('.kwicks').kwicks({
maxSize: '100%',
behavior: 'menu'
});
});
答案 0 :(得分:4)
您可以使用jQuery的attr()
方法来更改链接。 href
是此处的属性,链接是其值。
$('.theclassname').on('click', function() {
$(this).attr('href', 'http://google.com');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="http://www.something" class="theclassname">LEARN MORE</a>
&#13;
答案 1 :(得分:3)
在您的函数中,变量“this”包含您单击的DOM元素。使用“$(this)
”使用jQuery包装它,然后调用jQuery的attr function将href
属性设置为您想要的任何URL。
这是一个有效的jsFiddle:https://jsfiddle.net/57foqwaq/2/
以下是示例代码:
$('.theclassname').one("click", function(e) {
e.preventDefault();
$(this).attr("href", "https://www.example.com/");
});
答案 2 :(得分:2)
使用
$(this).attr('href','www.awesome.com')
答案 3 :(得分:1)
以下代码(正如其他人所提到的)应该有效:
// notice "e" being passed to the function:
$('.HREFCLASSNAME').one("click", function(e) {
e.preventDefault();
// assuming "this" is an "<a>" tag:
$(this).attr("href", "http://www.GOOGLE.org/");
$('.kwicks').kwicks({
maxSize: '100%',
behavior: 'menu'
});
});
这应该会停止“事件传播”,换句话说,链接不应该触发。
如果此链接仍在触发,则可能存在类似于this example的问题,其中事件“冒泡”并导致链接无论如何都会触发。 如果这种情况(表示您没有为特定问题提供有效的html示例),您可以通过将e.preventDefault()
替换为此来阻止事件传播:< / p>
e.stopImmediatePropagation();
答案 4 :(得分:0)
如果您希望在点击链接时调用theclassname
链接,然后显示链接的文本和网址,则可以尝试使用其他选项:
<a rel='1' class="theclassname" href="option1.html">Option 1</a>
<a rel='2' class="theclassname" href="option2.html">Option 2</a>
$('.theclassname').one('click', function() {
var link = $(this);
alert (link.html());
alert (link.attr('href'));
alert (link.attr('rel'));
return false;
});
返回false会阻止链接被跟踪。
答案 5 :(得分:-1)
你只需要尝试:
$(this).attr("href", new_href);
我觉得它可能适合你。