使用this.form时将JavaScript函数转换为jQuery

时间:2013-04-07 13:23:25

标签: javascript jquery getelementbyid

我在一个页面上有多个与此类似的表单:

<form action="hreftomyserver.php" method="get" target="_blank">
    <ul>
        <li id="li_address">8447 Pardee Hollow Rd.</li>
    </ul>
    <input class="btn" type="button" value="process form" onclick=myfunction(this.form) />
</form>
<form action="hreftomyserver.php" method="get" target="_blank">
    <ul>
        <li id="li_address">123 Main Street</li>
    </ul>
    <input class="btn" type="button" value="process form" onclick=myfunction(this.form) />
</form>

我使用以下JavaScript处理onclick事件中的表单:

function myfunction(form) {
    var address = form.getElementById('li_address').innerHTML;
    alert("the address is: " + address);
}

我想要做的是使用jQuery访问li_address元素,但我不知道如何实现等效的jQuery来替换form.getElementById('li_address').innerHTML

4 个答案:

答案 0 :(得分:1)

如果你正在使用jQuery删除内联事件处理程序,并使用text()来获取元素文本内容:

$('.btn').on('click', function() {
    var adress = $('#li_address').text();
    alert("the address is: " + address);
})

答案 1 :(得分:1)

使用简单的jQuery id选择器

function myfunction(form){
  var address = $("#i_address").html();
  alert("the address is: " + address);
}

答案 2 :(得分:0)

var address = form.getElementById('li_address').innerHTML;

变为:

var address = $('#li_address').html();

由于您正在使用ID,因此也无需在此处获取表单。如果您计划拥有多个地址字段,请考虑使用类:

var address = $('.li_address').first().html();

答案 3 :(得分:0)

这是我正在寻找的语法: $('#li_address',form).val()