javascript - 这个引号嵌套怎么理解?
迷茫
迷茫 2017-04-10 17:31:38
[JavaScript讨论组]

$(".aaron2").on('click', function() {

    $('a').wrap(function() {
    return '<p class="' + $(this).text() + '" />';
    })
})

关于这段  return '<p class="' + $(this).text() + '" />';代码里面的引号怎么什么意思?没怎么看懂!麻烦高手解析一下
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(3)
怪我咯

其实就是
<p class=" + $(this).text() + " />
=>
<p class="$(this).text()" />

黄舟

黄舟

javascript中字符串可以用单引号' 或者使用双引号"来包裹的

//在javascript字符串中如果碰到没有转义的第一个相同的引号则表示一段字符串结束
var a1 = 'abc';//碰到c后面的单引号直接结束了这个字符串
var b1 = "def";//碰到f后面的双引号直接结束了这个字符串
//否则就当做是字符串继续处理
var a2 = 'abc"defg';//c后面的是双引号,和外层不一样,所以依旧是一个完整的字符串
var b2 = "hij'klmn";
//如果要使用相同的引号则需要使用\来转义
var a3 = 'abc\'defg';
var b3 = "hij\"klmn";

再看你的例子'<p class="' + $(this).text() + '" />'
假定$(this).text() = 'class',很明显期望的最后结果是

<p class="class"/>

这段html作为文字在js中如果使用双引号:

var html = "<p class=\"class\"/>";//需要转义

如果使用单引号:

var html = '<p class="class"/>';//无需再转义

然后字符串拼接就是单纯的+

var str = 'abc'+'def';  // ->  abcdef
var html = '<p class="'+'class'+'"/>'; // -> <p class="class"/>
//替换为变量就是:
'<p class="' + $(this).text() + '" />'
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号