В основном название.Пробелы, разрушающие img src в jQuery
У меня есть MySQL запрос:
while ($array = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$jsonData[] = $array;
}
echo json_encode($jsonData);
переменная ссылается на значение, которое имеет пробелы в нем названы «Осколок Аргуса»:
var pname = value.Pet_Name;
, который используется для вставки значения в одновременно открытым текстом <div>
и изображение style='background-image: url()
:
$("img#"+char).click(function(){
$("#charlist").html(title
+"<table style='background:#888' width='600px'>"
+"<tr>"
+"<td rowspan='4' height='150px' width='150px' style='background-image: "
+"url(/images/char/"+char+".png)'></td>"
+"<td>Name: "+fname+" "+lname+"</td>"
+"<td>Class: "+spec+" "+role+"</td>"
+"</tr>"
+"<tr>"
+"<td>Race: "+race+"</td>"
+"<td>Rank: "+rank+"</td>"
+"</tr>"
+"<tr>"
+"<td>Height: "+height+"</td>"
+"<td>Weight: "+weight+"</td>"
+"</tr>"
+"<tr>"
+"<td>Age: "+age+"</td>"
+"<td>Birthplace: "+birth+"</td>"
+"</tr>"
+"</table>"
+"<table width='600px'>"
+"<tr>"
+"<td>Bio:<br />"+bio+"</td>"
+"</tr>"
+"</table>"
+"Pets"
+"<table class='"+pname+"' width='300px'>"
+"<tr>"
+"<td rowspan='2' height='150px' width='150px' style='background-image: "
+"url(/images/pets/"+pname+".png)'></td>"
+"<td>Name: "+pname+"</td>"
+"</tr>"
+"<tr>"
+"<td>Species: "+prace+"</td>"
+"</tr>"
+"</table>"
+"<table width='300px'>"
+"<tr>"
+"<td rowspan='2' height='150px' width='150px' style='background-image: "
+"url(/images/battlepets/"+cname+".png)'></td>"
+"<td>Name: "+cname+"</td>"
+"</tr>"
+"<tr>"
+"<td>Species: "+crace+"</td>"
+"</tr>"
+"</table>");
$("table.none").hide();
});
Все отображается отлично, за исключением изображения. Я добавил обратную косую черту как в имя файла, так и в значение, и ТОГДА он отображается хорошо. Я пробовал все, что мог придумать, чтобы заменить пробелы в вызове MySQL (просто добавляет обратную косую черту повсюду), попытался заменить символ в моем jQuery (либо полностью разрывает его, либо просто не работает), добавив еще одну переменную для просто этот один экземпляр и попробуйте encodeURIComponent или замените это безрезультатно, и я нахожусь в конце своего ума.
Я надеялся, что вам не нужно добавлять еще один столбец значений без пробелов. Просто для URL-адреса источника background-image
, но если это так, я просто сделаю это и скажу, что он вкрутил его.
Любые советы о том, что я делаю неправильно? Если вам нужна какая-либо другая соответствующая информация, узнайте лемму. Веб-сайт: http://wow.zenakrua.com/, и вы нажимаете Windwalkers, затем нажмите сердитый фиолетовый цыпленок, посредине второго ряда.
У вас на самом деле нет изображения с именем файла 'Remnant of Argus.png', вы хотите удалить эти пробелы или просто заменить их чем-то другим или чем-то. Просто показывая нам, что у вас есть, и что вы хотите, было бы намного проще, чем публикация всей таблицы в одной строке. – adeneo
В любом случае, вы должны придерживаться строчных букв и пробелов в именах файлов, поэтому 'char.replace (/ \ s/g, '') .toLowerCase()' – adeneo
Согласно другому комментарию (я добавил обратную косую черту в имя файла и значение как тест, в то время это были не пробелы): Это было не так, но я думаю, что обратная косая черта вызывала проблему с загрузкой. Изменено на тире, wow.zenakrua.com/images/battlepets/Remnant-of-Argus.png. Отключил защиту Hotlink. Несмотря на это, поведение было таким же, прежде чем я положил обратную косую черту. Я пробовал + и - на месте, все еще не могу заставить его заменить их в jquery. Дополнительная информация Вам нужна дополнительная информация? Я могу вставить все это, есть два связанных файла, запрос php mysql и фактическая страница с ajax и jquery. –