0

我刚刚开始使用 javascript 并尝试执行以下操作:
我的 html 文档包含 div 和 span 元素,如下所示。我想创建一个变量来存储my-new-id特定 div 子元素的值。
我必须继续的唯一信息是,我总是知道跨度text将是什么,因为它基于用户名。因此,我将如何获得my-new-idfor的价值user1

我已经弄清楚如何使用 document.getElementById 方法导航到正确的 div 元素。然后我尝试使用 jquery 选择器,例如:contains,但卡住了。

非常感谢提前。

<div id=1>
<span my-new-id=x>user1</span>
<span my-new-id=y>user2</span>
<span my-new-id=z>user3</span>
</div>

<div id=2>
<span my-new-id=x>user10</span>
<span my-new-id=y>user1</span>
<span my-new-id=z>user30</span>
</div>
4

1 回答 1

2

使用 jQuery:

var val = $('span:contains("user1")').attr('my-new-id');

还有几点:

  • 不要使用以数字开头的 ID。这在 HTML4 规范中是不允许的,并且可能会导致某些浏览器出现意外行为。相反,在您的 ID 前加上一个字母字符串,如下所示:

    <div id="container1">
        ...
    </div>
    
  • 我建议您使用data-*属性而不是弥补不存在的属性。您可以制作data这样的属性:

    <span data-new-id="x">user1</span>
    

    然后,您可以使用以下方法检索此值:

    $('span:contains("user1")').data('newId');
    

    请注意,属性名称已去除破折号和驼峰式大小写。

于 2013-01-07T13:51:33.890 回答