Javascript: Как изменить атрибуты дочерних элементов? - PullRequest
0 голосов
/ 21 июня 2010

У меня есть эта скрытая ссылка, которая необходима для других целей:

<span id="notitle" style="display: none;">
<a href="...Foo" title="Foo" style="..."></a>
</span>

Ссылка генерируется динамически и автоматически включает атрибут title.Но я хотел бы удалить атрибут title, поскольку значение копируется, когда пользователь копирует и вставляет окружающий текст.

Я думал об использовании javascript.Это то, что у меня так далеко:

<html>
    <head>
        <script type="text/javascript">
          function notitle() {
            var mylist=document.getElementById("notitle")
            var listitems= mylist.getElementsByTagName("a")
            for (i=0; i<listitems.length; i++) {
              listitems.setAttribute("title", "");
            }
      }
        </script>
    </head>

<body onLoad="notitle()">

<p>Before hidden link:
<span id="notitle" style="display: none;">
<a href="#Foo" title="Foo">This Link should have no title attribute</a>
</span>
After hidden link.</p>
</body>
</html>

Но не работает.Я думаю, это о listitems.setAttribute("title", ""); Есть идеи?Ура:)

Ответы [ 4 ]

3 голосов
/ 21 июня 2010

listitems - это коллекция, поэтому ваш код, вероятно, выдает ошибку.

В любом случае, вы хотите:

listitems[i].setAttribute("title", "");
1 голос
/ 21 июня 2010

Прежде всего, вам нужно выбрать один конкретный элемент, используя listitems[i], во-вторых, я думаю, вы можете сделать это так просто:

listitems[i].title = ""
0 голосов
/ 21 июня 2010

Вы делаете

listitems.setAttribute("title", ""); 

i раза.

Добавьте индекс массива в список.

0 голосов
/ 21 июня 2010

Вам необходимо добавить индекс i:

listitems[i].setAttribute("title", "");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...