Я пытаюсь выполнить этот код в javascript:
$('#content').replaceWith("<div>" + <?php echo $tableau_Text?> + "</div>");
Но не работает для меня. Это ничего не показывает мне. Когда я меняю PHP code
на что-то статичное, например:
$('#content').replaceWith("<div>Hello World</div>");
он отлично работает с этим.
Мое определение html #content: –
<div id="content"> <?php echo $show_menu;?> </div>
Есть идеи? Большое спасибо!
ОБНОВИТЬ:
$tableau_text
выглядит так:
$tableau_Text = "<ul class='object_list' id='object_list' data-role='listview' data-inset='true' data-theme='c'>$TableauText</ul>";
Где $TableauText
– это элементы списка в том же формате.
$TableauText = <li class='menuA' id='menuA' data-role='list-divider' data-icon='false'>River Flow</li> <li class='menuB' id='menuB' data-icon='arrow-r'><a href='#' target='foo'>Rossiniere</a></li> <li class='menuB' id='menuB' data-icon='arrow-r'><a href='#' target='foo'>Montsalvens</a></li> <li class='menuA' id='menuA' data-role='list-divider' data-icon='false'>Lake Level</li> <li class='menuB' id='menuB' data-icon='arrow-r'><a href='#' target='foo'>Rossiniere</a></li> <li class='menuB' id='menuB' data-icon='arrow-r'><a href='#' target='foo'>Montsalvens</a></li> <li class='menuB' id='menuB' data-icon='arrow-r'><a href='#' target='foo'>Lessoc</a></li> <li class='menuB' id='menuB' data-icon='arrow-r'><a href='#' target='foo'>Rossens</a></li> <li class='menuB' id='menuB' data-icon='arrow-r'><a href='#' target='foo'>Maigrauge</a></li> <li class='menuB' id='menuB' data-icon='arrow-r'><a href='#' target='foo'>Schiffenen</a></li> <li class='menuB' id='menuB' data-icon='arrow-r'><a href='#' target='foo'>Maigrauge</a></li>
Решение. У меня было несколько элементов списка с тем же идентификатором, который я не понял после того, как я вставлял его здесь, и это делало мой код сумасшедшим …
Попробуй это:
$('#content').replaceWith("<div>" + <?php echo json_encode($tableau_Text); ?> + "</div>");
Данный:
$TableauText = 'hello world ""'; $tableau_Text = " <ul class='object_list' id='object_list' data-role='listview' data-inset='true' data-theme='c'> $TableauText </ul>";
Браузер увидит:
$('#content').replaceWith("<div>" + "\n <ul class='object_list' id='object_list' data-role='listview' data-inset='true' data-theme='c'>\n hello world \"\"\n <\/ul>" + "</div>")
Что делает
hello world ""
Не обрабатывайте php-код как переменную
Попробуй это
$('#content').replaceWith("<div><?php echo $tableau_Text?></div>");
Если ваш <?php echo $tableau_Text?>
соответствующий текст, заключенный в кавычки, вы получите недопустимое конкатенацию строк и, следовательно, синтаксическую ошибку JavaScript. Однако, поскольку PHP выполняется до того, как JavaScript попадает в браузер, вам вообще не нужно использовать конкатенацию строк.
Один встречный вопрос: ваш код
$('#content').replaceWith("<div>" + <?php echo $tableau_Text?> + "</div>");
в .js файл?
если так это хочет работать. и вы делаете это до включения js
var tableau_Text = ' <?php echo $tableau_Text?>'; <script src = 'any_js.js'></script>
и в .js
$('#content').replaceWith("<div>" + tableau_Text + "</div>");