两个文件,一个.html,一个.js,怎么用js和html交互,js如何访问html,如何得到html里面的表格呢?

html-css05

两个文件,一个.html,一个.js,怎么用js和html交互,js如何访问html,如何得到html里面的表格呢?,第1张

以下是纯js+html实现的增删改操作代码,你可以参考以下。当然也可以使用jquery之类的框架来实现,最终的原理都是一样的。

<html>

  <head>

    <title>增删改查</title>

    <style type="">

       tr{

         text-align:center

       }

    </style>

   

    <script type="text/javascript">

       //通过新增按钮来控制表格的显示与隐藏

       var optionFlag = "save"

       var updateRowIndex = -1

       var checkFlag=false//默认为不显示

       function show() {

         optionFlag = "save"

         var f = document.getElementById("did")//获得id为did的 div

           if(!checkFlag) {

              f.style.visibility="visible"

           }else{

              f.style.visibility="hidden"

           }

           checkFlag=!checkFlag

       }

      

       //通过保存按钮将数据添加到表格中

       function insertRow_() {

         switch(optionFlag) {

            case "save" :

               insertRow_$save()

               break

            case "update" :

               insertRow_$update()

               break

            default :

               alert("操作失败。。。") 

         }

        

         function insertRow_$save() {

            //通过id获得要添加数据的表格

          var table = document.getElementById("tableid")

         

          //将所输入的内容赋给定义的变量

          var titleName = document.getElementById("title").value

          var digestName = document.getElementById("digest").value

          var authorName = document.getElementById("author").value

          //获取下拉框内的内容

          var selectIndex_ = document.getElementById("select")

          var option = selectIndex_.options[selectIndex_.selectedIndex]

          var selectName = option.text

         

          //获取编号的内容

          var numberid = table.rows.length

         

          //在表尾添加一行数据

          var row_ = table.insertRow(table.rows.length)

 

          row_.insertCell(0).innerHTML = numberid

          row_.insertCell(1).innerHTML = titleName

          row_.insertCell(2).innerHTML = digestName

          row_.insertCell(3).innerHTML = authorName

          row_.insertCell(4).innerHTML = selectName

          row_.insertCell(5).innerHTML = '<input type="button" value="修改" onclick="update_(this.parentNode.parentNode)"></input>&nbsp<input type="button" value="删除" onclick="delete_(this.parentNode.parentNode)></input>'

         

          document.getElementById("title").value = ""

          document.getElementById("digest").value = ""

          document.getElementById("author").value = ""

          document.getElementById("select").options[0].selected="true"

         

          var f = document.getElementById("did")

          f.style.visibility="hidden"

         

          alert("保存数据成功!!!")

         }

         //修改后的保存

         var tr

         function insertRow_$update() {

             var table = document.getElementById("tableid")

             tr = table.rows[updateRowIndex]

            

             var p = document.getElementById("title")

             tr.cells[1].innerHTML = p.value

            

             p = document.getElementById("digest")

             tr.cells[2].innerHTML = p.value

            

             p = document.getElementById("author")

             tr.cells[3].innerHTML = p.value

            

             p = document.getElementById("select")

             var Index_ = p.selectedIndex

             var option = p.options[Index_]

             var selectName = option.text

             tr.cells[4].innerHTML = selectName

            

             document.getElementById("title").value = ""

          document.getElementById("digest").value = ""

          document.getElementById("author").value = ""

          document.getElementById("select").options[0].selected="true"

            

             var f = document.getElementById("did")

             f.style.visibility="hidden"

            

             alert("修改数据成功。。。")

         }

       }

      

       //通过删除按钮  删除当前所在行

       function delete_(row_) {

         var table = document.getElementById("tableid")

         table.deleteRow(row_.rowIndex)

        

         refurbish_()

         alert("删除数据成功!!!")

       }

      

       //刷新

       function refurbish_() {

         var table = document.getElementById("tableid")

         //获得table的行数

         var rows = table.rows

         for(var i=1i<rows.lengthi++) {

           rows[i].cells[0].innerHTML = i

         }

       }

      

       //通修改按钮对table里的数据进行修改

       function update_(row) {

         updateRowIndex = row.rowIndex

         optionFlag = "update"

         //对table里的数据进行回显

         document.getElementById("title").value = row.cells[1].innerHTML

         document.getElementById("digest").value = row.cells[2].innerHTML

         document.getElementById("author").value = row.cells[3].innerHTML

         var selectText = row.cells[4].innerHTML

         var sel = document.getElementById("select")

         var ops = sel.options

         for(var i=0i<ops.lengthi++) {

            if(selectText==ops[i].text) {

               sel.options[i].selected = "true" 

            }

         }

         var f = document.getElementById("did")

         f.style.visibility="visible"

       }

    </script>

  </head>

 

  <body>

    <input type="button" value="新增" onclick="show()"></input>

    <div>

      <table border = "1" cellspacing = "0" id="tableid"  width=100%>

         <tr bgcolor="yellow">

            <th>编号</th>

            <th>标题</th>

            <th>摘要</th>

            <th>作者</th>

            <th>类别</th>

            <th>操作</th>

         </tr>

         <tr>

            <td>1</td>

            <td>dgsdg</td>

            <td>sdgfd</td>

            <td>ghfhh</td>

            <td>基金</td>

            <td>

               <input type="button" value="修改" onclick="update_(this.parentNode.parentNode)"></input>

               <input type="button" value="删除" onclick="delete_(this.parentNode.parentNode)"></input>

            </td>

         </tr>

     </table>

    </div>

 <br>

    <div align="center" id="did" style="visibility:hidden">

       <form action="">

         <table>

          <tr>

      <td>标题:</td>

      <td><input type="text" id="title"></input></td>

      <td>摘要:</td>

      <td><input type="text" id="digest"></input></td>

    </tr>

  

    <tr>

      <td>作者:</td>

      <td><input type="text" id="author"></input></td>

      <td>类别:</td>

      <td align="left">

       <select id="select">

          <option>证劵</option>

          <option>基金</option>

          <option>股票</option>

       </select>

      </td>

    </tr>

   </table>

   <br>  

      <center>

         <input type="button" value="保存" onclick="insertRow_()"></input>

         <input type="reset" value="重置"></input>

      </center>

      </form>

   </div>

 </body>

</html>

JS语法中的传递参数,对于初学者是一个非常重要的概念。很多小伙伴在学习“值传递”和“引用传递”时,会有不少烦恼。今天我们就来通过各种姿势全方位剖析JS中的值传递。

本文章将会用10分钟时间无死角的解析JS的传参方式,希望能对您有所帮助。

先说结论,JS只有值传递,没有引用传递。这句话可能会颠覆一些小伙伴的认知,但请先别急,马上你将会赞同我。

值传递是什么?

在函数传参的过程中,实参将数值传递给形参。

EXP:

function fun(x) {

console.log(x)

}

let a = 123

fun(a)

1

2

3

4

5

6

1

2

3

4

5

6

运行结果

在fun(a)这个函数调用语句中,实参为a、形参为x,从输出结果来看,可以证明实参a将数值123传给了形参x。

疑问:是否可以通过形参x数值的修改,来改变实参a的值?

EXP:

function fun(x) {

x = 666

}

let a = 123

fun(a)

console.log(a)

1

2

3

4

5

6

7

1

2

3

4

5

6

7

运行结果:

可以看到实参a的数值并没有因为x的改变而发生变化。是因为值传递的特点决定,咱们接着往下看。

2、值传递的特点:

单向传递,只能将实参的数值传递给形参,不能将形参的值传递给实参。

EXP:

我们希望编写一个交换两个变量数值的函数swap。

“HTML是网页的结构,CSS是网页的外观,而JavaScript是页面的行为。”1)HTML—Hypertext Markup Language。 超文本标记语言。用来描述网页的语言。<html><head><title>HTML</title></head><body></body></html>HTML文本中包含了所谓的“链接点”HTML利用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。总的来说,HTML就是整合网页结构和内容显示的一种语言。2)CSS—Cascading Style Sheet层叠样式表单。是将样式信息与网页内容分离的一种标记语言。用来定义如何显示html元素。3)JavaScript使用它的目的是与HTML超文本标记语言、Java脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。例如可以设置鼠标悬停效果,在客户端验证表单,创建定制的HTML页面,显示警告框,设置cookie等等。其源代码在发往客户端运行之前不需要进行编译,而是将文本格式的字符代码发给浏览器,由浏览器解释运行。alert('Hello World!')把代码嵌入HTML语言中,它会在加载时弹出一个“Hello World”对话框。