Могу ли я добавить дополнительные элементы в теги HTML, чтобы мой JQuery мог их использовать? - PullRequest
2 голосов
/ 01 декабря 2010
<div id="holder" rel="http://mysite.com/go.jpg" rel2="42pixels" rel3="gaga">
blah
</div>

Это разрешено?

Ответы [ 5 ]

2 голосов
/ 01 декабря 2010

Если возможно, я бы порекомендовал использовать пользовательских атрибутов данных HTML5 для достижения этой цели:

<div id="holder" rel="http://mysite.com/go.jpg" data-rel2="42pixels" data-rel3="gaga">
    blah
</div>
1 голос
/ 01 декабря 2010

Атрибут data-* является правильным способом добавления пользовательских атрибутов, но он действителен только в HTML5.Лично я обычно использую атрибуты id или class для передачи дополнительных данных.В вашем случае вы могли бы даже сделать что-то вроде:

<div id="holder" class="http://mysite.com/go.jpg_42pixels_gaga">blah</div>

и затем использовать что-то вроде этих строк для доступа к этим данным:

var divParams = $("#holder").attr("class").split('_');
alert('Param 1 is: ' + divParams[0] + ' / Param 2 is: ' + divParams[1] + ' / Param 3 is: ' + divParams[2]);

Конечно, вы можете использоватьболее сложный разделитель, чем подчеркивание, чтобы убедиться, что вы не разбили строку неправильно, я просто использовал его как POC.

Надеюсь, это поможет!

1 голос
/ 01 декабря 2010

Общий подход для этого сценария заключается в использовании data-* псевдо-пространства имен .

Это не действует во всех версиях HTML;но это относительно безобидно и очень удобно;и намного лучше, чем множество других подходов.

Редактировать: Примеры всегда хороши:

<!-- In an HTML file loaded with AJAX, for instance: -->
<ul>
  <li data-id="1">My Little Pony</li>
  <li data-id="2">Transformers</li>
</ul>
0 голосов
/ 01 декабря 2010

Зависит от того, что вы подразумеваете под «разрешено». Это сработает, но ваша проверка будет снята. Атрибут class предназначался для охвата такого рода расширений (хотя никто не использует его для каких-либо прав, кроме CSS, поэтому, возможно, это станет де-факто оскорбительным для этого).

0 голосов
/ 01 декабря 2010

Нет, он не будет проверяться таким образом: http://www.alistapart.com/articles/scripttriggers/

Вы можете предоставить пользовательское DTD, чтобы сделать его "действительным": http://www.alistapart.com/articles/customdtd/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...