Jquery-将元素文本存储在变量中,以便在修改后进行访问

Jquery-将元素文本存储在变量中,以便在修改后进行访问,jquery,Jquery,如果您能在这方面提供任何帮助,我将不胜感激。对于jquery和javascript,我是一个新手,但我有一段代码,我将它们散列在一起: $('.comment-data').click(function() { var ThisData = $(this); var Thistitle = ThisData.find('h4'); var original = Thistitle.text(); var ThisNext = ThisData.next().fin

如果您能在这方面提供任何帮助,我将不胜感激。对于jquery和javascript,我是一个新手,但我有一段代码,我将它们散列在一起:

$('.comment-data').click(function() {
    var ThisData = $(this);
    var Thistitle = ThisData.find('h4');
    var original = Thistitle.text();
    var ThisNext = ThisData.next().find('ol');
    ThisNext.stop(true, true).customToggle(500, function() {
    ThisNext.is(':visible') ? Thistitle.text('Hide Comments') : Thistitle.text(original);
});
});
除了一件事,它工作得很好;我需要存储存储在“original”变量中的初始文本,并在对文本进行更改(替换为“Hide Comments”)后将其保持不变以供访问。希望这是有意义的,在我假设变量Thistitle被更改为值'Hide Comments'的那一刻,我实际上是在用它在原始变量上写,因此当我将文本设置为原始变量时,我会得到'Hide Comments'


提前感谢您对如何解决此问题的任何见解,我已尝试使用.data,但这只是将所有内容都散列出来

将变量声明移到click事件外部

var original = "";

$('.comment-data').click(function() {
    // Your code here
    if( original === ''){
        original = Thistitle.text();
        // Only set if the variable is empty
    }
    // Then use the initial value here
}

或者您可以只使用数据属性来存储原始文本。。就像
data original=“youroriginaltext”
你是个天才!感谢wirey提供的解决方案,它几乎成功了,但我只能从一些返回完整html的php中获取原始文本数据,它很快就变得一团糟。我曾尝试在click函数之外声明变量,如:var original;但是它没有起作用,这确实起了作用。谢谢你:-)@OliverFoxley。。不客气。。但若数据属性方法有效,那个么最好按照Wirey提出的方法进行操作,因为这将是一种更干净的方法:)编辑---啊,我以为它在工作,不幸的是,它似乎为所有单独的元素返回相同的原始文本值,我需要它来记住每个单独元素的文本。基本上我有一个php:它返回包装在h4标记中的文本。我需要保存此文本以备以后使用,并在“隐藏注释”和作为文本开头的任何内容之间切换,例如“显示注释(4)”,这将为页面上应用的所有元素获取相同的文本。