JQuery - 带引号

时间:2017-02-06 11:54:35

标签: javascript jquery html function jquery-after

我需要在单选按钮后添加一些HTML,我想添加一个图像和功能,所以当我点击它时我会检查单选按钮。我会用我自己的selectRadioButton()功能检查单选按钮。

现有代码是,我无法编辑此部分:

<span class="ms-RadioText">
  <input id="idFirstRadioButton" type="radio" name="idFirstRadioButton" value="1" />
</span>

我的想法是,用功能添加我的图像,就是这样做:

$("#idFirstRadioButton").after("Image 1:<br/><a href=\"javascript:selectRadioButton(\"idFirstRadioButton\")\"><img src=\"http://urltoimage/image.jpg\" border=\"0\"/></a>");

但是当我使用这段代码时,我的页面的HTML是这样的:

<span class="ms-RadioText">
  <input id="idFirstRadioButton" type="radio" name="idFirstRadioButton" value="1" /> Image 1:<br/><a href="javascript:selectRadioButton(" shape="" idFirstRadioButton?)?=""><IMG src="http://urltoimage/image.jpg" border=0></a>
</span>

他正在添加&#34; shape =&#34;&#34; ?idFirstRadioButton)=&#34;&#34;&#34;

正确的代码应该是:

<span class="ms-RadioText">
   <input id="idFirstRadioButton" type="radio" name="idFirstRadioButton" value="1" /> Image 1:<br/><a href="javascript:selectRadioButton("idFirstRadioButton")><IMG src="http://urltoimage/image.jpg" border=0></a>
</span>

我已经尝试使用'\",两者的组合,变量,......

$("#idFirstRadioButton").after("Image 1:<br/><a href=\"javascript:selectRadioButton(\"idFirstRadioButton\")\"><img src=\"http://urltoimage/image.jpg\" border=\"0\"/></a>");
$("#idFirstRadioButton").after('Image 1:<br/><a href="javascript:selectRadioButton(\"idFirstRadioButton\")"><img src="http://urltoimage/image.jpg" border="0"/></a>');
$("#idFirstRadioButton").after('Image 1:<br/><a href="javascript:selectRadioButton("' + VARidFirstRadioButton + '")"><img src="http://urltoimage/image.jpg" border="0"/></a>');

我做错了什么或者我应该使用什么代码?

3 个答案:

答案 0 :(得分:2)

您应该在channel.writeAndFlush(...)字符串中使用不同的引号,因为它们是必需的。例如:

.after

结果如下:

$("#idFirstRadioButton").after("Image 1:<br/><a href=\"javascript:selectRadioButton('idFirstRadioButton')\"><img src=\"http://urltoimage/image.jpg\" border=\"0\"/></a>");

但是,只有在没有其他选择的情况下才会这样做。正如@CBroe所提到的,你应该尝试不在绑定的html中绑定事件处理程序,但尝试使用正确的方法处理它们。 提供示例@Dan O似乎是您应该寻找的东西。

答案 1 :(得分:1)

你做错了是使用HTML字符串而不是构建和追加元素本身,这(除了潜在的安全问题)可能会导致你在这里看到的那种令人困惑和烦人的行为。你想要这样的东西:

var myImg = $("<img/>");
myImg.attr("src", "http://urltoimage/image.jpg");
myImg.on("click", function(e) {
  selectRadioButton("idFirstRadioButton");
});
$("#idFirstRadioButton").after(myImg);

答案 2 :(得分:0)

如果您的"'深度超过1级,则需要对其进行嵌入或逃避。

最后一个应该是正确的,除了你继续使用"而不是逃避或交替它们。

正确应该是:

$("#idFirstRadioButton").after('Image 1:<br/><a href="javascript:selectRadioButton(\'' + VARidFirstRadioButton + '\')"><img src="http://urltoimage/image.jpg" border="0"/></a>');

所以我们从after的单引号开始,然后是href的双引号,然后我们转义selectRadioButton内部的单引号,然后单引号退出字符串并转储var,然后回到弦内并继续前进。 Fiddle

  

注意:请记住声明你的var“VARidFirstRadioButton”   shape of错误。