我试图添加一个favourit系统。
我有一个功能,提醒我想要添加的正确ID。 我用:
<script type="text/javascript">
function addfavo(state_name)
{
alert(state_name);
}
</script>
在我的html中,我有一个循环(使用php),它显示所有带有添加到favourit链接的图像。
<div style="margin-top:40px;">
<a onclick="addfavo('<?php echo $imgid ?>')"><b>Add to favourits</b></a>
</div>
所以会发生什么是我有很多链接到相同的函数与不同的参数,但我只想要我点击的链接更改文本(添加到favourits的东西) 有人可以帮助我朝正确的方向发展吗? 我试过添加:
$(this).innerHTML("test");
但它没有用。
答案 0 :(得分:1)
您可能想要使用html
方法:
$(this).html('test');
虽然html
是jQuery方法,但innerHTML
是DOM元素的属性。如果您使用的是纯JavaScript,则可能使用:
this.innerHTML = 'test';
但是,当您在HTML标记上使用onclick
属性时,this
将不会指向您的函数范围内的当前DOM元素。在您的情况下,我会为您的元素添加一个类,例如add_favorite
,并将您的文本添加到另一个属性:
<div style="margin-top:40px;">
<a href="#" class="add-favorite" data-text="<?php echo $imgid ?>"><b>Add to favourits</b></a>
</div>
然后将jQuery事件应用于它:
<script type="text/javascript">
$(function() {
$('.add-favorite').click(function(e) {
var text = $(this).data('text'); // store the text in a variable
$(this).html(text); // replace your element's html with your text
e.preventDefault();
});
});
</script>