如何将多个属性设置为相同的值?

时间:2017-10-20 03:17:50

标签: jquery

说我有一个锚:

<a id="link" href="" title="">Link</a>

我想同时将href和title设置为url。所以像这样:

$('#link').attr('href title', 'http://stackoverflow.com');

有没有办法做这样的事情?

4 个答案:

答案 0 :(得分:1)

  1. 添加数组
  2. &#13;
    &#13;
    $('#link').attr({
        title:"http://stackoverflow.com", 
        href:"http://stackoverflow.com",
    });
    &#13;
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <a id="link" href="" title="">Link</a>
    &#13;
    &#13;
    &#13;

答案 1 :(得分:1)

你需要把它们连在一起。

$('#link')
  .attr('href','http://stackoverflow.com')
  .attr('title','http://stackoverflow.com');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="link" href="" title="">Link</a>

您可以使用jquery#each并遍历您的属性数组并将url分配给他们。

let url = 'http://stackoverflow.com';

$.each(['href','title'],
  function(index, name) {
    $('#link').attr(name, url);
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="link" href="" title="">Link</a>

答案 2 :(得分:1)

您可以将chain jQuery方法放在一起,例如以下内容:

sortItem.sort(new sortInd2());
var target = "http://stackoverflow.com";

$('#link')
  .attr('href', target)
  .attr('title', target);

将对象传递给方法,其中两个不同的属性是键:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="link" href="" title="">Link</a>
var target = "http://stackoverflow.com";

$('#link').attr({
    title: target, 
    href: target,
});

希望这有帮助! :)

答案 3 :(得分:0)

我想我找到了最好的答案,在attr()函数中创建了一个变量:

$('#link').attr({'href': (a = 'http://stackoverflow.com'), 'title': a});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<a id="link" href="" title="">Link</a>