0

我正在尝试添加到最喜欢的系统。我有一个功能可以提醒我要添加的正确 id。

我用:

 <script type="text/javascript">
 function addfavo(state_name)
 {
    alert(state_name);
 } 
 </script>

在我的 html 中,我有一个循环(带有 php),它显示了所有带有添加到收藏链接的图像,看起来像。

<div style="margin-top:40px;">
    <a onclick="addfavo('<?php echo $imgid ?>')"><b>Add to favourits</b></a>
</div>

所以发生的事情是我有很多指向具有不同参数的相同函数的链接,但我只想要我单击的链接来更改文本(添加到收藏夹之类的东西)

有人可以帮助我朝着正确的方向前进吗?

我试过添加:

 $(this).innerHTML("test");

但它没有用。

4

1 回答 1

1

您可能想使用以下html方法:

$(this).html('test');

Whilehtml是一个 jQuery 方法,innerHTML是一个 DOM 元素的属性。如果您使用的是纯 JavaScript,您可能会使用:

this.innerHTML = 'test';

onclick但是,当您在 HTML 标记上使用该属性时,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>

小提琴:http: //jsfiddle.net/MH6vY/

于 2013-10-29T15:48:56.473 回答