javascript - 如何将 JQuery 输出格式化为页面顶部并使用 CSS 设置样式

标签 javascript html jquery css

问题 01:

我刚刚开始我的 Jquery/Javascript 之旅,在将输出从脚本移动到链接上方的页面顶部时遇到问题,因此切换不会影响它。如果我将脚本移动到顶部,那么它会在加载 HTML 之前运行。

问题 02:

关于如何将 CSS 应用于这些变量,我还能得到一些提示吗?

例如:放入一个盒子并改变字体/颜色等

<html>

<head>
  <title>Films</title>
  <link rel="stylesheet" href="css/layout.css" type="text/css">
</head>

<body>
  <h1 class="mainheading">Films</h1>
  <a href="#" id="actionlink">Add a Film</a>
  <div id="jquerytarget">
    <form>
      <p><label>Film</label><br />
        <input type="text" name="film" id="film"></p>
      <p><label>Rating</label><br />
        <select name="rating" id="rating">
          <option value="1">One Star</option>
          <option value="2">Two Stars</option>
          <option value="3">Three Stars</option>
        </select>
      </p>
      <p><label>Description</label><br />
        <textarea name="filmdescription" id="filmdescription"></textarea></p>
      <p><button id="submit">Submit</button></p>
    </form>
  </div>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script>
    $(document).ready(function() {
      $("#actionlink").click(function() {
        $("#jquerytarget").slideToggle(200);
      });
    });
  </script>
  <script id="output" type="text/javascript">
    $("#submit").click(function(e) {
      e.preventDefault();
      var film = $("#film").val();
      $("#jquerytarget").prepend("<p>" + film + "</p>")
      var rating = $("#rating").val();
      $("#jquerytarget").prepend("<p>" + rating + "</p>")
      var filmdescription = $("#filmdescription").val();
      $("#jquerytarget").prepend("<p>" + filmdescription + "</p>")
    });
  </script>
</body>

</html>

最佳答案

问题 01 的答案

如果您想先加载 HTML 然后再运行 JavaScript 代码,则必须按如下方式包装您的代码。

document.addEventListener("DOMContentLoaded", function(event) { 
  // write your code here
});

您的代码应包含在事件处理函数中。事件处理函数(或回调)必须在发出事件的元素上注册,在我们的例子中是 document。对象。

问题02的答案

您可以按如下方式为元素设置 CSS 属性。在下面的代码片段中,我将更改 <p> 的背景颜色单击按钮时的元素。

<p>Paragraph 01</p>
<p>Paragraph 02</p>
<p>Paragraph 03</p>

<button>Change background color of all Paragraphs</button>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<script>
  $(document).ready(function() {
    $("button").click(function() {
      $("p").css("background-color", "yellow");
    });
  });
</script>

如果要将特定的 CSS 属性分配给特定的类,可以尝试以下方法。单击按钮可以更改“段落 2”的背景颜色。我根据他们的“id”选择了元素。

<p id="para-01">Paragraph 01</p>
<p id="para-02">Paragraph 02</p>

<button id="addBackgroundChange">Add background color of Paragraph 1</button>
<button id="removeBackgroundChange">Remove background color of Paragraph 1</button>
<button id="toggleBackgroundChange">toggle background color of Paragraph 2</button>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<script>

  // to add a class (the background color)
  $(document).ready(function() {
    $("#addBackgroundChange").click(function() {
      $("#para-01").addClass("new-para-background");
    });
  });

  // to remove a class (the background color)
  $(document).ready(function() {
    $("#removeBackgroundChange").click(function() {
      $("#para-01").removeClass("new-para-background");
    });
  });

  // to toggle a class (the background color)
  $(document).ready(function() {
    $("#toggleBackgroundChange").click(function() {
      $("#para-02").toggleClass("new-para-background");
    });
  });
</script>

<style>
  .new-para-background {
    background-color: yellow;
  }
  
</style>

关于javascript - 如何将 JQuery 输出格式化为页面顶部并使用 CSS 设置样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66581870/

相关文章:

javascript - Node.js:HTTP 获取请求

javascript - 适用于许多浏览器的简单选项卡导航?

html - div block 转到 Firefox 中的下一行

jquery - 如何重新应用 jQuery 选择器?

javascript - jquery ajax 到 php 脚本不保存数据

javascript - 如何在不同的设备、网络下为移动网络应用程序编写可靠的单元测试?

javascript - 在 Angular 中实现 circliful jQuery 插件

jquery - 使用 JQuery 验证 HTML 表单

c# - 奇怪的字符串格式+来自mysql中文件上传的路径名

javascript - iScroll 一个动态填充的 div 也没有滚动主页