0

这已经被回答了几次,但我的方法不同。

我想在点击时切换(通过 jQuery)文本。但是我想在 html 中定义这个文本(因为它是多语言并且它依赖于语言,更准确地说是在 Smarty 变量中)所以$(this).html(condition ? "Some" : "Other" )它不起作用。

我的实际做法是:

HTML

<a class="readmore" href="#content">
    <span class="text" rel="Menos">Más</span>
</a>

JS

$(".readmore").click(function(event) {
    var contentSelectAnt = $(this).find(".text").html();
    var contentSelect = $(this).attr("rel");
    $(this).find(".text").html(contentSelect);
    $(this).attr("rel",contentSelectAnt);
)};

但我不太喜欢代码的冗余和rel属性的不当使用。我确信有更多jquery风格的解决方案。

谢谢阅读。

4

3 回答 3

1

您可以通过 data 方法附加数据。但是,您仍然存在初始状态和对立状态的问题。

<a href="#content" data-content="SomeOtherContent">Text</a>

$('a').click(function()
{
     var currentObj = $(this);
     var currentText = currentObj.html();
     currentObj.html(currentObj.data('content'));
     currentObj.data('content', currentText);
});
于 2011-05-10T15:24:17.840 回答
1

我实际上很难理解您要做什么,但是拼凑了一个演示

不知道这是否是你的意思,但这是我对这个问题的理解。

编辑:

DEMO 2具有适当的功能?

DEMO 3不使用锚标签。

于 2011-05-10T15:34:10.270 回答
0

只使用两个跨度怎么样:

<a class="readmore" href="#content">
    <span class="text">Más</span>
    <span class="text" style="display: none;">Menos</span>
</a>

使用 javascript:

$(".readmore").click(function(event) {
    $(this).find('.text').toggle();
    return false;    
 });

这是一个演示,http://jsfiddle.net/Fq4bT/

于 2011-05-10T15:25:00.707 回答