Jquery 替换单击的元素内容,然后在第二次单击时再次将其返回

Jquery 替换单击的元素内容,然后在第二次单击时再次将其返回,jquery,Jquery,我不是jQuery方面的专家,我所要做的就是用不同的内容替换我单击的第一个类为.arrow的元素,然后在再次单击时返回原始内容,同时使用我已经找到的最接近的li标记展开和折叠 重要我有多个元素与.arrow类有关,我只希望单击的.arrow类受到影响 谢谢你的帮助 $(文档).ready(函数(){ $('.arrow')。单击(函数(){ $(this).最近('li').find('ol:first').fadeToggle('slow','linear'); //防止默认操作 返回fals

我不是jQuery方面的专家,我所要做的就是用不同的内容替换我单击的第一个类为
.arrow
的元素,然后在再次单击时返回原始内容,同时使用我已经找到的最接近的
li
标记展开和折叠

重要我有多个元素与
.arrow
类有关,我只希望单击的
.arrow
类受到影响

谢谢你的帮助

$(文档).ready(函数(){
$('.arrow')。单击(函数(){
$(this).最近('li').find('ol:first').fadeToggle('slow','linear');
//防止默认操作
返回false;
}); 
});
在本例中,我只是从
show/hide
切换文本

如果内容是动态的,那么我更喜欢使用HTML-5 data-*属性来存储必须显示的文本

在本例中,我只是从
show/hide
切换文本

如果内容是动态的,那么我更喜欢使用HTML-5 data-*属性来存储必须显示的文本


假设您的
.arrow
元素可能包含多个纯文本,并且在任何时候最多有1个
。arrow
元素被调出:

var swapbuffer = <alternative_content>; // html fragment
//...

$('.arrow').click( function (eve) {
    var temp_html = swapbuffer;

    temp_html = swapbuffer;
    swapbuffer = $(this).html();
    $(this).html(temp_html);
    $(this).closest('li').find('ol:first').fadeToggle('slow', 'linear');

    // prevent default action
    eve.preventDefault;
    return false;       
});
var swapbuffer=;//html片段
//...
$('.arrow')。单击(函数(eve){
var temp_html=swapbuffer;
temp_html=swapbuffer;
swapbuffer=$(this.html();
$(this.html(temp_html);
$(this).最近('li').find('ol:first').fadeToggle('slow','linear');
//防止默认操作
预防违约;
返回false;
});
您没有指定“单击的第一个
.arrow
元素”是什么意思-您是指事件发送到的第一个元素(代码用于此场景),还是在您单击的元素或一系列单击的第一个元素之后的词汇上的第一个,还是完全其他的?希望这个建议已经有用了


尽管事件处理程序是按类定义的,但代码仅对接收事件的单个元素执行-如果您嵌套了
。arrow
元素,则除了跳过默认操作外,您可能希望停止事件传播(使用的方法是
eve.stopPropagation
eve.stoppimediatepropagation
)。

假设
.arrow
元素可能包含多个纯文本,并且在任何时候最多有1个
.arrow
元素被替换掉:

var swapbuffer = <alternative_content>; // html fragment
//...

$('.arrow').click( function (eve) {
    var temp_html = swapbuffer;

    temp_html = swapbuffer;
    swapbuffer = $(this).html();
    $(this).html(temp_html);
    $(this).closest('li').find('ol:first').fadeToggle('slow', 'linear');

    // prevent default action
    eve.preventDefault;
    return false;       
});
var swapbuffer=;//html片段
//...
$('.arrow')。单击(函数(eve){
var temp_html=swapbuffer;
temp_html=swapbuffer;
swapbuffer=$(this.html();
$(this.html(temp_html);
$(this).最近('li').find('ol:first').fadeToggle('slow','linear');
//防止默认操作
预防违约;
返回false;
});
您还没有指定“单击的第一个
.arrow
元素”是什么意思-您是指事件发送到的第一个元素(代码用于此场景),还是在您单击的元素或一系列单击的第一个元素之后的词汇上的第一个元素,还是完全其他的?希望此建议已经有用



尽管事件处理程序是按类定义的,但代码仅对接收事件的单个元素执行-如果您嵌套了
。arrow
元素,则除了跳过默认操作外,您可能希望停止事件传播(要使用的方法是
eve.stopPropagation
eve.stoppimediatepropagation
)。

特殊字符不呈现,添加它们时它们仍然是代码形式,我希望呈现它们。@RightSide:特殊字符可能需要unicode码点。通用语法是
\u
(例如,水平省略号为
\u2026
)。我尝试将.text()更改为.html(),但现在内容不会返回。添加特殊字符时,它们仍以代码形式呈现。我希望它们呈现。@右侧:特殊字符可能需要unicode代码点。通用语法为
\u
(例如,水平省略号为
\u2026
),我尝试将.text()更改为.html()现在,内容不会返回。我是指事件发送到的第一个对象。@RightSide:您对什么特殊字符有问题?有特殊字符吗character@RightSide:对不起,我还是不知道你说的“特殊字符”是什么意思:标点符号、带变音符号的字母、数学符号、非拉丁字母……一般规则然而,在任何情况下,plies都是:使用js语法表示unicode代码点-您能给出一个不显示的特定字符的示例吗?@RightSide:例如,尝试
console.log(“右箭头:'\u2192'”);
代码中的某个地方,然后在浏览器中打开js控制台(chrome中的ctrl+shift+j)查看输出。我是指事件发送到的第一个字符。@RightSide:您对什么特殊字符有问题?有特殊字符吗character@RightSide:对不起,我还是不知道你说的“特殊字符”是什么意思:标点符号、带变音符号的字母、数学符号、非拉丁字母……不过,一般规则是适用的,在任何情况下:使用js语法表示unicode代码点-您能给出一个不显示的特定字符的示例吗?@RightSide:例如,尝试
console.log(“右箭头:'\u2192'”);
在代码中的某个地方,然后在浏览器中打开js控制台(在chrome中按ctrl+shift+j)查看输出。替换为什么内容?特殊字符和一些文本。替换为什么内容?特殊字符和一些文本。