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