【问题标题】:Editing the contents of an object tag with JQuery使用 JQuery 编辑对象标记的内容
【发布时间】:2016-01-30 06:01:36
【问题描述】:

我有这个 JQuery 函数:

var objects = document.querySelectorAll('object');

// Iterate through objects
$('object').each( function() {
    var link = $(this).attr('data');
    $(this).append('<a href="'+link'">click here</a>');

});

它遍历页面中的所有&lt;object&gt; 项目并在它们的末尾附加一个链接(在这种情况下,所有对象都用于创建嵌入文档。)但是,我想编辑该函数,以便它还编辑对象标签中的一个属性,最好更改名称属性,并添加一个 if 语句来检查对象标签是否包含这个新名称。

【问题讨论】:

  • 使用.attr() 方法...比如$(this).attr('name', 'new-name')
  • 检查是否有给定名称的对象...if($('object').is('[name="name-to-check"]')){alert('name-exists')}

标签: javascript jquery html object append


【解决方案1】:

您可以使用.attr() 获取/设置名称属性,也可以使用.is()attribute selector 一起使用

// Iterate through objects
var $objects = $('object');
$objects.each(function() {
  var $this = $(this);
  $this.append('<a href="' + $this.attr('data')
    '">click here</a>');

  var nametoset = ''; //some logic to find the name
  if ($objects.is('[name="' + nametoset + '"]')) {
    //name already exists so do something 
  } else {
    $this.attr('name', nametoset);
  }

});

【讨论】:

    【解决方案2】:
    $('object').each( function() {
        var link = $(this).attr('data');
        var newlink = $('<a href="'+link'">click here</a>');
        newLink.attr("name","jonny");
        $(this).append(newLink);
    });
    

    $('object').each( function() {
        var link = $(this).attr('data');
        var newname = "jonny";
        var newlink =$ ('<a href="'+link+'" name="'+newname+'">click here</a>');
        $(this).append(newLink);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-08
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      • 2016-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多