Javascript 无限期地在单引号和双引号之间交替

Javascript 无限期地在单引号和双引号之间交替,javascript,jquery,Javascript,Jquery,我在处理多个嵌入/交替引号时遇到了一个问题,我希望有人能提供帮助。这是相关的代码 displayMessage( "post success!", "<p style='margin-top: 15px; margin-bottom: 15px'>if you'd like to share your post...</p> <a onclick='openSharePopup("+textA+","+numberA+","+num

我在处理多个嵌入/交替引号时遇到了一个问题,我希望有人能提供帮助。这是相关的代码

displayMessage(

    "post success!", 

    "<p style='margin-top: 15px; margin-bottom: 15px'>if you'd like to share your post...</p> 

    <a onclick='openSharePopup("+textA+","+numberA+","+numberB+")' style='cursor: pointer; font-size:16px'>
        share
    </a>"

);

function displayMessage(heading, text){
  $("#displayMessageHeadingDiv").html(heading);
  $("#displayMessageBodyDiv").html(text);
  $("#displayMessageParentDiv").css("display","block");
}

你知道我在这件事上哪里出了问题吗

你的方法根本上是错误的。手动创建内联事件处理程序几乎总是错误的方法

更好的解决方案是,例如:

var shareLink = $( '<a>share</a>' )
                    .css({ cursor: 'pointer', 'font-size': '16px' })
                    .click( function() {
                            openSharePopup( textA , numberA, numberB );
                        });

var msg = $( "<p>if you'd like to share your post...</p>" )
              .css({ 'margin-top': '15px', 'margin-bottom': '15px' });

displayMessage( "post success!", shareLink.add( msg ) );

function displayMessage(heading, text){
  $("#displayMessageHeadingDiv").html(heading);
  $("#displayMessageBodyDiv").empty().append(text);
  $("#displayMessageParentDiv").show();
}
var shareLink=$(“共享”)
.css({光标:'指针','字体大小':'16px'})
。单击(函数(){
openSharePopup(textA、numberA、numberB);
});
var msg=$(“如果你想分享你的帖子…

”) .css({'margin top':'15px','margin bottom':'15px'}); displayMessage(“post success!”,shareLink.add(msg)); 函数显示消息(标题、文本){ $(“#displayMessageHeadingDiv”).html(标题); $(“#displayMessageBodyDiv”).empty().append(文本); $(“#displayMessageParentDiv”).show(); }
基本上,您应该创建元素,通过代码添加一个click处理程序,并将元素直接添加到容器中。这样你就不必考虑使用什么样的引用,在哪里引用


(另一个风格方面,最好使用CSS类来设置元素的样式,而不是内联样式。)

您的方法从根本上是错误的。手动创建内联事件处理程序几乎总是错误的方法

更好的解决方案是,例如:

var shareLink = $( '<a>share</a>' )
                    .css({ cursor: 'pointer', 'font-size': '16px' })
                    .click( function() {
                            openSharePopup( textA , numberA, numberB );
                        });

var msg = $( "<p>if you'd like to share your post...</p>" )
              .css({ 'margin-top': '15px', 'margin-bottom': '15px' });

displayMessage( "post success!", shareLink.add( msg ) );

function displayMessage(heading, text){
  $("#displayMessageHeadingDiv").html(heading);
  $("#displayMessageBodyDiv").empty().append(text);
  $("#displayMessageParentDiv").show();
}
var shareLink=$(“共享”)
.css({光标:'指针','字体大小':'16px'})
。单击(函数(){
openSharePopup(textA、numberA、numberB);
});
var msg=$(“如果你想分享你的帖子…

”) .css({'margin top':'15px','margin bottom':'15px'}); displayMessage(“post success!”,shareLink.add(msg)); 函数显示消息(标题、文本){ $(“#displayMessageHeadingDiv”).html(标题); $(“#displayMessageBodyDiv”).empty().append(文本); $(“#displayMessageParentDiv”).show(); }
基本上,您应该创建元素,通过代码添加一个click处理程序,并将元素直接添加到容器中。这样你就不必考虑使用什么样的引用,在哪里引用


(另一个风格方面,最好使用CSS类来设置元素的样式,而不是内联样式。)

非常感谢Juhana-非常高兴听到我的方法根本错误,您的重写确实彻底解决了问题!!非常感谢Juhana-非常高兴听到我的方法从根本上是错误的,你的重写确实彻底解决了问题!!