У меня есть страница HTML.RenderPartial, которая используется на нескольких страницах. На большинстве страниц он используется, мне не нужно оборачивать его в тег <h1>
, но на одной странице мне нужно обернуть его в тег <h1>
. Вот тег span, который мне нужно обернуть в тег <h1>
:
<span class="author-card--title" data-scroll-up-target>About the Author</span>
Поэтому я поместил этот код на страницу, которая мне нужна, чтобы изменить тег <span>
на тег <h1>
:
<script type="text/javascript">
$(document).ready(function() {
$('#author-card--title').contents().unwrap().wrap('<h1></h1>');
});
</script>
Я сохранил, скомпилировал и перезапустил страницу. Я вижу скрипт на странице, но он не меняет тег <span>
на <h1>
. Этот скрипт на этой странице:
@if (Model != null && Model.Count > 0)
{
<div class="author-landing">
@if (Model.First().Author != null)
{
Html.RenderPartial("~/Views/Articles/Unit/_AuthorCard.cshtml", Model.First().Author);
}
@{
Html.RenderPartial("~/Views/Articles/Unit/_AuthorArticleList.cshtml", Model);
}
</div>
<script type="text/javascript">
$(document).ready(function() {
$('#author-card--title').contents().unwrap().wrap('<h1></h1>');
});
</script>
}
else
{
<div class="author-landing">
<h2> Author - <b style="color: green"> Name </b> doesn't have any article(s) published yet!</h2>
</div>
}
Я также переместил скрипт в оператор if, и до сих пор не могу заставить это работать.
Edit:
Я изменил код на это:
<script type="text/javascript">
$("span.author-card--title").wrap("<h1></h1>")
</script>
Все еще не повезло.
Редактировать 2:
Добавил этот код и все заработало:
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$('.author-card--title').wrap('<h1></h1');
</script>
Я предположил (глупо, я), что страница загрузки уже ссылалась на jquery, а это не так. После того, как я установил источник, внёс незначительные коррективы в скрипт, он заработал.
Спасибо.