如何动态更改链接的顺序

时间:2015-09-14 13:01:48

标签: javascript

我有这样的事情:

<div class="list-group list">
    <a href="blabld" id="2" data-order="1">World</a>
    <a href="blabla" id="1" data-order="2">Hello</a>
</div>

不,我尝试使用普通的Javascript动态更改链接的顺序。

有没有人有任何建议,怎么办?

我的目标是:

var kaki: Bool!

  func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    if kaki == nil{
            print("kaki is nil")
            kaki = false
            NSUserDefaults.standardUserDefaults().setObject(kaki, forKey: "kaki")
            NSUserDefaults.standardUserDefaults().synchronize()
            print("kaki now has value")


    }else{
            print("kaki already has value")

            kaki = NSUserDefaults.standardUserDefaults().objectForKey("kaki") as! Bool
    }



func applicationWillResignActive(application: UIApplication) {
         NSUserDefaults.standardUserDefaults().setObject(kaki, forKey: "kaki")
         NSUserDefaults.standardUserDefaults().synchronize()
    }

3 个答案:

答案 0 :(得分:1)

你走了:

function sort(r) {
    var $list = document.getElementsByClassName('list')[0];
    var listGroupA = document.getElementsByTagName('a');
    var $listGroupA = [];
    for (var i = 0; i < listGroupA.length; ++i) {
        $listGroupA.push(listGroupA[i]);
    }
    $listGroupA.sort(function (a, b) {

        return r * (a.getAttribute('data-order') - b.getAttribute('data-order'));

    });
    for (var i = 0; i < $listGroupA.length; i++) {
        $list.removeChild($listGroupA[i]);
    }
    for (var i = 0; i < $listGroupA.length; i++) {
        $list.appendChild($listGroupA[i]);
    }
}
var reverse = 1;
$('#sort').click(function () {

    reverse = reverse * -1;
    sort(reverse);
});

fiddle

答案 1 :(得分:0)

您可以删除最后一个列表项并再创建一个项目并将其附加到容器div中,如下所示:

var world = document.getElementById("2");
var id = world.id;
var data = world.getAttribute("data-order");
var div = document.getElementsByClassName("list")[0];

div.removeChild(world);
var newA = document.createElement("a");
div.appendChild(newA);
newA.id = id;
newA.dataset.order = data;

答案 2 :(得分:0)

any identifier

Reorder = function()
{    
  var x = document.getElementsByTagName('a');
  document.getElementsByClassName('list').innerHTML = "";
  var content  =  "";
      for(i = x.length; i > 0; i--)
      {
          content = content + x[i - 1].outerHTML;
      }
  document.getElementsByClassName('list').innerHTML = content;
}

上面的代码将现有项目放入数组并清除内容。现在,它们将被添加到div中。我在这里使用了classname将它添加到div。