當擴展項目時,我使用jQuery附加了一些JavaScript。jQuery - 將JavaScript附加到Div
但jQuery函數內部的JavaScript代碼導致其餘的jQuery代碼爆炸。
$(this).parent('li').find('.moreInfo').append('<script>alert("hello");</script>');
我該如何解決這個問題?
當擴展項目時,我使用jQuery附加了一些JavaScript。jQuery - 將JavaScript附加到Div
但jQuery函數內部的JavaScript代碼導致其餘的jQuery代碼爆炸。
$(this).parent('li').find('.moreInfo').append('<script>alert("hello");</script>');
我該如何解決這個問題?
對於附加JavaScript的問題,使用這樣的:
var str="<script>alert('hello');";
str+="<";
str+="/script>";
$(this).parent('li').find('.moreInfo').append(str);
否則一個更好的選擇將是線向上李的 click事件:
$("ul#myList li").click(function(){
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "url to your content page",
data: "{}",//any data that you want to send to your page/service
dataType: "json",
success: function(msg) {
$(this).find('.moreInfo').append(msg);
}
});
});
$(document).ready(function() {
$("ul").each(function() {
var _list = this;
$(_list).find("li").click(function() {
var _listItem = this;
$(this).animate({ height: 20 }, 300);
$(this).append("<script type='text/javascript'>" + "$('.resultsParag').text('I am injected via JS and will not mess up the other JS you have written cause I am a good boy');" + "</" + "script>");
});
});
});
嘗試添加\
之前/script
,它應該解決您的問題。
可以嘗試這樣
$(this).parent('li').find('.moreInfo').append('<script>alert("hello");</' + 'script>');
,你能不能後置HTML,並告訴追加劇本的目的是什麼? – TheVillageIdiot 2009-06-07 05:19:03