“最难不过坚持”
本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作
有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339
- https://jueru.net/
-
- :weixiao:
-
- :shuijiao: :weiqu: :zhenbang: :leng:
-
- :yiwen: :yiwen: :yiwen: :yiwen:
-
- 这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
-
JavaScript的引号嵌套时单引号和双引号是交替使用的,但是到第三层就会出现解析错误如:
'<a href="javascript: do('something');">'
这种用情况下something前的单引号会成为整个字符串的结束,解决方式:
'<a href="javascript: do(\'something\');">'转义单引号即可。
但是转义时不可用双引号:
'<a href="javascript: do(\"something\");">'
这样的话解析时,something前的双引号会被作为href属性的结束。
所以转义时也必须交替进行。
另外也可以把引号用HTML代码来代替引号
当然最好的方式是避免使用多重嵌套
function doSth(){
do("something");
}
'<a href="javascript: doSth();">'
实际自己遇到时的解决办法:
'<div class="zoomMask" style="position:absolute; background:url(\'image/mask.png\') repeat scroll 0 0 transparent; cursor:move; z-index:1;"></div>'
就是把url中的单引号加上转译符号,但要注意最外面要为单引号。
根据以上内容实现自己的代码
<script> $(function () { var answerId = 1; var id = 2; var html = []; html.push("<span class='good good_appr_"+id+"' title='赞' onclick='postDiggFaq_appr(\'good\',\'"+answerId+"\',\'"+id+"\')'><i></i><em>0</em></span>"); $(".faq_appr_"+answerId).html(html.join('')); }); </script> <div class="faq_appr_1"></div>
重点:以上代码是错的,输出的html代码是
<span class="good good_appr_2" title="赞" onclick="postDiggFaqAppr(" good','1','2')'=""><i></i><em>0</em></span>
这部分onclick="postDiggFaqAppr(" good','1','2')'=""是错误的
改进代码
<script>
$(function () {
var answerId = 1;
var id = 2;
var html = [];
html.push("<span class='good good_appr_"+id+"' title='赞' onclick='postDiggFaqAppr(\"good\",\""+answerId+"\",\""+id+"\")'><i></i><em>0</em></span>");
$(".faq_appr_"+answerId).html(html.join(''));
});
</script>
<div class="faq_appr_1"></div>
输出结果
<span class="good good_appr_2" title="赞" onclick="postDiggFaqAppr("good","1","2")"><i></i><em>0</em></span>
是正确的
转义单引号还是双引号,是根据最外层的引号决定的,与最外层引号保持一致就行
同理,我们把最外层双引号变成单引号测试一下
<script>
$(function () {
var answerId = 1;
var id = 2;
var html = [];
html.push('<span class="good good_appr_'+id+'" title="赞" onclick="postDiggFaqAppr(\'good\',\''+answerId+'\',\''+id+'\')"><i></i><em>0</em></span>');
$(".faq_appr_"+answerId).html(html.join(''));
});
</script>
<div class="faq_appr_1"></div>
输出结果<span class="good good_appr_2" title="赞" onclick="postDiggFaqAppr('good','1','2')"><i></i><em>0</em></span>
也是正确的