使用jQuery搜索对象的JavaScript赋值

时间:2016-10-02 18:34:26

标签: jquery selection

我知道这个问题是重复的,但我无法找到任何相关信息,因为我似乎无法说出正确的问题。

我正在使用MapBox.js并创建了一个标记,其弹出消息中有一个按钮,可以删除显示弹出窗口的标记。我从Stack Overflow获得了代码,但它使用了一个类来定位标记,我想为一个标记分配一个属性/属性,我可以用它来专门定位一个标记,它有它。我使用常规的JavaScript对象成员赋值:

marker.uniqueID = Date.now().toString();

然后在弹出消息中将marker.uniqueID分配给delete按钮。 我使用过Chrome检查器,可以在标记对象和删除按钮html元素中看到这些指定的值。但是,当我尝试使用按钮的指定值找到地图标记时:

$( '.marker-delete-button[uniqueID="12345"]')

我使用上面和其他几个选择器返回一个空的匹配列​​表。因此,为了简化这一点,我创建了以下代码,它得到了相同的结果:

<!DOCTYPE html>
<html>
  <head>
    <meta charset=UTF-8/>
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  </head>
  <body>
    <script>
      console.clear();
      var obj1 = { text: 'obj1' };
      var obj2 = { text: 'obj2' };
      var obj3 = { text: 'obj3' };

      obj1.a=1;
      obj2.a=2;
      obj3.a=3;

      var $a = $.attr( 'a' );
      console.log( $a );
      console.log( obj1 );
    </script>
  </body>
</html>

那么,我哪里错了?我知道我应该能够搜索具有特定值的特定属性/属性的JavaScript数组和对象,但我似乎无法使其工作。

谢谢!

1 个答案:

答案 0 :(得分:0)

我查看了MapBox.js,因为它对我来说是新的。看起来很有趣。我试图了解你遇到的问题。

但是,首先,让我回复您发布的简化示例代码。在使用它之前,最好确保jQuery已加载。

Provider<ConnectivityManager>

以下代码将两个属性“a”和“b”添加到$(function() { }); DOM元素。你可以在Firefox中检查它。

<body>

我不太明白你想要做什么跟随。它没有改变任何html元素。

var body = $("body").attr( 'a', 'avalue');
console.log(body);      
body.attr( 'b', 'bvalue');
console.log(body);

您希望它为var $a = $.attr('a'); console.log($a); DOM元素添加一个属性,以便您可以稍后使用jQuery选择它,并在生成的“this”对象上运行一些代码吗?

<html>