整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          JQuery中html()與text()方法的區別

          常在用JQuery寫ajax時,都會用到html()這個方法,而不用text()這個方法,他們之間有什么區別呢?

          1. html屬性中有兩個方法,一個 有參,一個無參。

          • 無參html():取得第一個匹配元素的html內容。這個函數不能用于XML文檔。但可以用于XHTML文檔,返回的是一個string

          例子:

          html頁面代碼:<div><span>Hello</span></div>

          JQuery代碼:$(“div”).html();

          結果:<span>Hello</span>

          • 有參html(val):設置每一個匹配元素的html內容。這個函數不能用于XML文檔。但可以用于XHTML文檔。返回一個JQuery對象

          例子:

          html頁面代碼:<div></div>

          JQuery代碼:$(“div”).html(“<p>Nice to meet you</p>”);

          結果:<div><p> Nice to meet you</p></div>(html標簽會被瀏覽器識別)

          1. text屬性中有兩個方法,一個有參,一個無參

          • 無參text():取得所有匹配元素的內容。結果是由所有匹配元素包含的文本內容組合起來的文本。返回的是一個string

          例子:

          html頁面代碼:<p><span>Hello<span><div> fine</div></p>

          JQuery代碼:$(“p”).text();

          結果:Hello fine

          • 有參text(val):設置所有匹配元素的文本內容,與 html() 類似, 但將編碼 HTML (將 “<” 和 “>” 替換成相應的HTML實體).返回一個JQuery對象。

          例子:

          html頁面代碼:<div>Paragraph.</div>

          JQuery代碼:$(“div”).text(“<b>Some</b> new text.”);

          結果: <p><b>Some</b> new text.</p> (html標簽不會被瀏覽器識別,而是當作字符串來輸出)

          通過上面的例子,我們知道 html()方法與text()方法的區別就在于對html標簽的識別上不同。

          HTML 的世界里,我們想創建一個面板,包括標題和文本。你可以像這樣創建:

          <div class="panel">
              <div class="panel__header">Title</div>
              <div class="panel__body">
                  Lorem ipsum dolor sit amet consectetur adipisicing elit. Accusantium, sit!
              </div>
          </div>

          通過應用 CSS 和 JavaScript 到這些類,我們可以重復使用這段 HTML。這得益于類的存在,這也是像 Bootstrap 這樣的 CSS 框架多年來運作的方式。 現在讓我們看看 Vue 是如何處理可重用性的: 創建 Vue 組件 首先,我們需要在一個組件中創建一個基礎的面板類。 創建 Panel.vue 組件:

          <template>
          <div>
              <div class="header">Title</div>
              <div class="body">
                  Lorem ipsum dolor sit amet consectetur adipisicing elit. Accusantium, sit!
              </div>
          </div>
          </template>
          
          <script>
          export default {
          
          }
          </script>

          注意,我們可以消除一些類,因為我們的 CSS 將被限制在這個組件內部,同時 header 明確指向面板的頭部。

          現在,不再重復這個 HTML 塊,而是在需要的地方導入這個組件。

          在 App.vue 中添加兩個面板組件

          <template>
          <div>
              <Panel />
              <Panel />
          </div>
          </template>
          
          <script>
          import Panel from './Panel.vue'
          
          export default {
              components: { Panel },
          }
          </script>

          這種關注點的分離非常好,因為我們不再有各種嵌套的 div 容器,而是僅僅使用了 Panel,使得我們的模板非常易于理解。 動態 Props 但是等等!像這樣,標題和內容將始終保持不變。沒錯,所以我們需要讓這些屬性是動態的。 為此,我們需要讓父組件(App.vue)將標題和內容傳遞給子組件(Panel.vue)。子組件通過 props 定義它接受的屬性。 Props 在 Panel.vue 中:

          <template>
          <div>
              <div class="header">{{ title }}</div>
              <div class="body">{{ body }}</div>
          </div>
          </template>
          
          <script>
          export default {
              props: {
                  title: {
                      type: String,
                      required: true,
                  },
                  body: String,
              }
          }
          </script>

          我們的組件接受兩個 props。title 必須是字符串并且是必需的,body 也是一個字符串,但不一定是必需的。

          App.vue 現在可以將 props 傳遞給面板組件:

          <template>
          <div>
             <Panel title="Lorem Ipsum" body="Lorem ipsum dolor sit amet" />
             <Panel title="Something else" />
          </div>
          </template>
          
          <script>
          import Panel from './Panel.vue'
          
          export default {
              components: { Panel },
          }
          </script>

          Props 與普通 HTML 屬性非常相似。

          樣式

          現在,某些面板特別重要,它們的背景顏色需要突出顯示。在 HTML 中,現在我們要為面板添加一個 modifier 類并進行樣式設置。

          讓我們添加類 panel--primary:

          <div class="panel panel--primary">
              <div class="panel__header">Title</div>
              <div class="panel__body">
                  Lorem ipsum dolor sit amet consectetur adipisicing elit. Accusantium, sit!
              </div>
          </div>

          在 Vue 中,這將簡單地成為另一個 prop。

          在 Panel.vue 中:

          <template>
          <div :class="{primary: isPrimary}">
              <div class="header">{{ title }}</div>
              <div class="body">{{ body }}</div>
          </div>
          </template>
          
          <script>
          export default {
              props: {
                  title: "String,"
                  body: String,
                  isPrimary: {
                      type: Boolean,
                      default: false,
                  },
              }
          }
          </script>
          
          <style scoped>
              .primary {
                  background-color: #369; /* you might as well have a global CSS rule for the background color */
              }
          </style>

          我們在 props 列表中添加了 isPrimary prop。注意如何將其默認為 false。現在,只需在實際需要主要面板時傳遞 isPrimary prop。

          在 App.vue 中:

          <template>
          <div>
             <Panel isPrimary title="Lorem Ipsum" body="Lorem ipsum dolor sit amet" />
             <Panel title="Something else" body="Lorem ipsum dolor sit amet" />
          </div>
          </template>
          
          <script>
          import Panel from './Panel.vue'
          
          export default {
              components: { Panel },
          }
          </script>

          傳遞數據作為 Props

          到目前為止,我們只向子組件傳遞了字符串。但是當我們需要傳遞其他數據時會發生什么呢?

          在 App.vue 中,將標題和內容定義為實際數據,并嘗試將其傳遞給子組件。

          <template>
          <div>
             <Panel isPrimary title="title" body="body" />
          </div>
          </template>
          
          <script>
          import Panel from './Panel.vue'
          
          export default {
              components: { Panel },
              data() {
                  return {
                      title: 'Lorem Ipsum',
                      body: 'Lorem ipsum dolor sit amet',
                  }
              }
          }
          </script>

          上述代碼將不起作用。它將字面傳遞字符串 title 和 body,而不是變量的內容。為了修復這個問題,我們必須在 prop 前添加一個前綴。因此,我們只需更改 App.vue 的模板部分:

          <template>
          <div>
             <Panel :title="title" :body="body" />
          </div>
          </template>

          實際上,你可以簡化以上模板,簡單地使用:

          <template>
          <div>
             <Panel :title="title" :body="body" />
          </div>
          </template>

          事實上,v-bind 允許任何 JavaScript 表達式。 總結 通過 Vue 組件,我們實現了 HTML 中面板的重用,并將其做了進一步的改進,使得標題和內容可以動態傳遞。通過 props 和 slots 的使用,我們能夠更加靈活地構建和組織我們的界面組件。

          先看我們要實現怎么一個效果,效果視頻如下:

          <script src="https://lf3-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>

          分析

          1.全選和取消全選做法:讓下面所以的復選框的checked屬性跟隨全選按鈕即可

          2.下面復選框需要全部選中,上面全選才能選中做法:給下面所有復選框綁定點擊事件,每次點擊,都要循環查看下面所有的復選框是否有沒選中的,如有有一個沒選中的,上面全選就不選中。

          3.可以設置一個變量,來控制全選是否選中。

          代碼


          主站蜘蛛池模板: 精品日韩亚洲AV无码一区二区三区 | 国产一区二区三区免费观在线 | 韩国精品一区二区三区无码视频| 国产亚洲一区二区三区在线不卡| 国产在线步兵一区二区三区| 日本一区二区在线不卡| 国产精品久久亚洲一区二区| 国产精品亚洲一区二区三区| 一区二区三区中文字幕| 久久se精品一区精品二区国产| 精品国产一区二区三区2021| 亚洲一区精品无码| 3d动漫精品啪啪一区二区中文| 亚洲AV成人一区二区三区在线看 | 国产乱码精品一区二区三区麻豆| 国产微拍精品一区二区| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 日本一区二区三区在线视频观看免费 | 国产成人午夜精品一区二区三区| 日本精品一区二区三区在线视频一 | 日本一区二区三区精品中文字幕| 亚洲无码一区二区三区| 精品国产一区二区三区久久| 日韩AV片无码一区二区不卡| 亚洲av鲁丝一区二区三区| 波霸影院一区二区| 国产中文字幕一区| 麻豆视频一区二区三区| 日本激情一区二区三区| 亚洲av乱码一区二区三区| 看电影来5566一区.二区| 精品乱人伦一区二区三区| 国产亚洲一区二区三区在线不卡 | 国产精品福利一区| 在线观看国产一区亚洲bd| 日本强伦姧人妻一区二区| 精品久久久久中文字幕一区| 国产一区二区视频在线观看| 久久精品国产一区二区三| 少妇激情av一区二区| 午夜性色一区二区三区不卡视频 |