使用jquery

时间:2017-06-02 20:32:29

标签: javascript jquery html

好的,所以我有这段代码:

    <div class="tags-column" id="tags">

      <h2>Tags</h2>
      <ul>
        <% @presenter.tag_counters.each do |tag_counter| %>
          <li class="<%= tag_counter.tag %>">
            <%= link_to case_snitches_path(@project, tags: tag_counter.tag), { class: (params[:tags] == tag_counter.tag ? "active tag" : "tag")} do %>
              <span class="tag-name"><%= tag_counter.tag %></span>
              <span class="tag-counts">
                <%= tag_count(tag_counter, :pending) %>
                <%= tag_count(tag_counter, :missing) %>
                <%= tag_count(tag_counter, :reporting) %>
              </span>
            <% end %>
          </li>
        <% end %>
      </ul>
    </div>

页面本身比这大得多。但是使用JQuery我只想在某个事件上更新这部分。我似乎无法找到这个问题的合适答案。以下是我正在使用的当前JS无效:

$(".tags-column").load(document.URL + " .tags-column")

如果我这样做,它只是重复div并拧紧一切。

2 个答案:

答案 0 :(得分:0)

您要做的是重新渲染页面,就像首次加载时一样,这是javascript无法实现的。您需要做的是加载要加载的文件的内容,然后删除旧内容。您可以处理它以显示您想要的内容。

首先获取url的内容并将其放在一个新的div中:

$(".NEW-tags-column").load("yourfile.html");

请记住,load函数会将文件的内容放在选择器$(".tags-column")中。我不明白为什么你在这里将选择器添加到文件load(document.URL + " .tags-column")

然后删除<div>的旧内容:

$(".tags-column").remove();

这样您就可以更新内容了。

答案 1 :(得分:0)

使用以下代码更新div的html

 $(".tags-column").html("some HTML contents");

$("#tags").html("some HTML contents");