Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在元素的每个实例上更新JQuery变量_Jquery_Html_Css - Fatal编程技术网

在元素的每个实例上更新JQuery变量

在元素的每个实例上更新JQuery变量,jquery,html,css,Jquery,Html,Css,我想在名为.menuwithimage的div类上运行一段JQuery。代码如下: $(document).ready(function() { var link = $(".menuwithimage .inner h2").html(); var text = $(".menuwithimage .inner h2 a").html(); $(link).insertBefore(".menuwithimage .inner"); $(".menuwithi

我想在名为.menuwithimage的div类上运行一段JQuery。代码如下:

$(document).ready(function() {
    var link = $(".menuwithimage .inner h2").html();
    var text = $(".menuwithimage .inner h2 a").html();

    $(link).insertBefore(".menuwithimage .inner");
    $(".menuwithimage .inner h2 a").replaceWith(text);
    $(".menuwithimage a").empty();
});
这段代码在第一个实例上工作得很好,但是当这个div的另一个实例出现时,变量不会更新,因此它将该类名的第一个div中的内容插入到同一类的后续div中

是否有方法将此代码作为每个实例的新代码重新运行,这样它就不会拾取旧的变量数据?我尝试过使用.each、$.each和while,正如前面的主题所建议的那样,但无法完全实现

我真的很感谢你在这方面的帮助

提前谢谢


此处标记:

您可以简单地将代码包装到每个循环中,因为您希望处理所有循环。menuwithimage:

演示: 使用$this。查找。。。您可以在单个.menuwithimage块中选择必要的元素

您还可以简化代码:

$(".menuwithimage").each(function() {
    var $link = $(this).find(".inner h2 a");
    $(this).find(".inner h2").text($link.text());
    $link.prependTo(this).empty();
});

演示:这个div的另一个实例,您是如何添加这些实例的?还有可能添加一些标记吗?或者像Hi,抱歉,我在这里添加了标记这样的实例:完美!简化的代码——甚至更好。非常感谢你。
$(".menuwithimage").each(function() {
    var $link = $(this).find(".inner h2 a");
    $(this).find(".inner h2").text($link.text());
    $link.prependTo(this).empty();
});