Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.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
Javascript Jquery在变量中切换元素_Javascript_Jquery - Fatal编程技术网

Javascript Jquery在变量中切换元素

Javascript Jquery在变量中切换元素,javascript,jquery,Javascript,Jquery,当两个元素位于字符串变量中时,我在使用Jquery切换它们时遇到了一些困难 例如: 我想知道在向用户显示变量之前,如何在变量中存储两个div的同时切换这两个div?试试这一个。只需将字符串拆分为“”,它将生成一个拆分内容数组,然后将”重新添加到每个拆分的字符串中(这将在拆分过程中使用)。 然后重新组装 var myString=“我的测试另一个测试”; var res=myString.split(“”); res[0]+=“”; res[1]+=”; var switchedString=r

当两个元素位于字符串变量中时,我在使用Jquery切换它们时遇到了一些困难

例如:


我想知道在向用户显示变量之前,如何在变量中存储两个div的同时切换这两个div?

试试这一个。只需将字符串拆分为
”,它将生成一个拆分内容数组,然后将
重新添加到每个拆分的字符串中(这将在拆分过程中使用)。 然后重新组装

var myString=“我的测试另一个测试”;
var res=myString.split(“”);
res[0]+=“”;
res[1]+=”;
var switchedString=res[1]+res[0]

通过添加需要通过直接字符串操作来完成的约束,您正在使事情变得更加困难。HTML是要呈现到DOM中的——因为这是一个“文档对象模型”,所以它更适合将文档建模为对象

jQuery看起来有点老掉牙,但它的全部目的是使查询DOM变得更容易,所以它在这里工作得很好。您只需解析字符串,查询要移动的节点,并将其插入到要移动的元素之前。您可以使用
$.fn.HTML()
获取HTML,或者如果要将其插入页面的某个位置,您可以将其作为元素保留

var $el = $(myString);
$('.anotherTest', $el).insertBefore($('.test', $el));
var myMessage = $el.html();

它不应该是var div1=myString.filter('test')?为什么要在字符串中切换它们?我看不到示例代码中的
t
。替换
。@MaciejKozieja是的,我想在字符串中切换它们,然后我会将其推给最终用户,这样当它们在屏幕上时我就不必切换它们了。@MaciejKozieja船长,实际上我犯了一个错误,div2前面没有点,因为我想在类中选择它。这正是我想要的。这允许我在显示字符串之前对其进行操作。
var myString = 
              "<div class='chatMessage'>Something here 
               <div class='test'>My test</div>
               <div class='anotherTest'> the other test</div>
               Something there
               </div>";

var div1 = myString.filter('.test');
var div2 = myString.filter('.anotherTest');

var tdiv1 = div1.clone();
var tdiv2 = div2.clone();

myMessage = div1.replaceWith(tdiv2);
myMessage = div2.replaceWith(tdiv1);
t.replace is not a function
var myString = "<div class='test'>My test</div><div class='anotherTest'> the other test</div>";


var res = myString.split("</div>");
res[0] +="</div>";
res[1] +="</div>";
var switchedString=res[1]+res[0]
var $el = $(myString);
$('.anotherTest', $el).insertBefore($('.test', $el));
var myMessage = $el.html();