我有一个jQuery代码如下



$(document).on('click', '.ajax', function(e) {
    e.preventDefault();
    var getUrl = $(this).attr('href');
    var myData = $(this).data();
    var data = new FormData();
    for (var i in myData) {
        data.append((i.replace("record", "")), myData[i]);

    }

    reModal(getUrl, data);
});





我想更改/更新此行:

 var getUrl = $(this).attr('href');


该行不仅必须与href一起使用,而且必须同时在data-hrefhref上运行,我想这样做。

<a href="files_path/bla.html" class="ajax">click me</a>


--

<div data-href="files_path/yeap.html" class="ajax">click me too</a>

最佳答案

您不能使用attr名称传递正则表达式。因此,要么必须检查元素存在哪个attr,然后进行选择。

像这样

 var getUrl = $(this).attr('href') ? $(this).attr('href') : $(this).attr('data-href');


甚至更短

var getUrl = $(this).attr('href') || $(this).attr('data-href');

关于jquery - 如何为attr方法设置第二个参数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45501120/

10-12 12:39
查看更多