Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.11.2010, 11:23
Новичок на форуме
Отправить личное сообщение для ejik Посмотреть профиль Найти все сообщения от ejik
 
Регистрация: 17.11.2010
Сообщений: 7

ефектиный селектор на Jquery
Необходимо из кучи HTML кода выбрать те элементы, у которых установлено свойство "name" - только эти элементы мне необходимы

Никак не могу придумать хороший селектор.

вот для примера код:
<span style="position: absolute; left: 10px; width: 83px;" class="OELabel">From:</span>
<input name="fromDate" id="getRepFromDate" type="text" value="17.11.2010" style="position: absolute; left: 90px; width: 90px;" class="control hasDatepicker">

<span style="position: absolute; left: 10px; width: 83px;" class="OELabel">To:</span>
<input name="toDate" id="getRepFromDate" type="text" value="17.11.2010" style="position: absolute; left: 90px; width: 90px;" class="control hasDatepicker">

<span style="position: absolute; left: 10px; width: 83px;" class="OELabel">Instruments</span>
<select name="instruments" class="combo" style="width: 95px; left: 90px; position: absolute;">
	<option selected="selected" value=" ">All</option>
	<option value="123">123</option>
	<option value="456">456</option>
</select>

<span style="position: absolute; left: 10px; width: 83px;" class="OELabel">IsShowLots</span>
<input name="IsShowLots" type="checkbox" style=" position: absolute; left: 90px;">
Ответить с цитированием
  #2 (permalink)  
Старый 17.11.2010, 11:28
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

ejik,
в гугле забанили?
или может быть на jquery.com?
потратили бы хоть пять минут на поиск, прежде чем лезть задавать идиотские вопросы, и тратить чужое время!
Ответить с цитированием
  #3 (permalink)  
Старый 17.11.2010, 11:28
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Заведомо самый хороший "селектор":
var elems = document.getElementsByTagName('*');
for (var i = 0; i < elems.length; i++) {
    if (elems[i].name) {
        var elem = elems[i];
        // elem имеет name, делаем с ним что-нибудь.
   }
}
Ответить с цитированием
  #4 (permalink)  
Старый 17.11.2010, 11:58
Новичок на форуме
Отправить личное сообщение для ejik Посмотреть профиль Найти все сообщения от ejik
 
Регистрация: 17.11.2010
Сообщений: 7

Gvozd,
Хороший ответ
Kolyaj,
Спасибо, но хотелось бы получить что либо в стиле:
var importantFieldsSelector = $("#Contant > div.myClass");
или
$("input[@name]")
вот только мне не по классу надо искать, и не по инпутам. К тому же строка
$("//input[@name]")
в консоли хрома выдает ошибку
Syntax error, unrecognized expression: //input[@name]

UPD:

//input[@name - ошибка вызвана не очень качественным учебным материалом "@" лишняя(

Нашел $("#Contant > div [name]")

Правда есть один вопрос, как себя поведет Jquery, найдет все элементы с полем "name", потом те что в div, потом те что в div с id==Contant
или
найдет #Contant в нем элементы с "name", а затем те что в дивах?

думаю модеры потрут тему...

Последний раз редактировалось ejik, 17.11.2010 в 13:41.
Ответить с цитированием
  #5 (permalink)  
Старый 17.11.2010, 12:33
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от Kolyaj
elems.length
А не дорого ли дергать length у NodeList на каждой итерации?
Ответить с цитированием
  #6 (permalink)  
Старый 17.11.2010, 12:52
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

B@rmaley.e><e,
если вы считаете, что это затормозит ваш скрипт, закэшируйте значение. Эта проблема не стоит даже этих двух сообщений, которые ради неё были созданы.
Ответить с цитированием
  #7 (permalink)  
Старый 17.11.2010, 13:21
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от B@rmaley.e><e
А не дорого ли дергать length у NodeList на каждой итерации?

<a href="#1" name="a">color</a>
<a href="#2">color</a>
<a href="#3" name="b">color</a>

<script type="text/javascript">
window.onload = function(){
  var elems = document.getElementsByTagName('*');
  for(var i=0, j=0; j=elems[i]; i++) {
    if(elems[i].name) {
        elems[i].style.color = 'red';  
     }
  }
};
</script>


Но в любом случае это нужно допиливать

Сообщение от ejik
Необходимо из кучи HTML кода выбрать те элементы, у которых установлено свойство "name" - только эти элементы мне необходимы
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>

<script type="text/javascript">
$(function(){
  $("a[name]").css('color','red');
});
</script>
<a href="#1" name="a">color</a>
<a href="#2">color</a>
<a href="#3" name="c">color</a>
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамически загружаемая jQuery и jQuery-функции в одном файле 67bytes Общие вопросы Javascript 6 06.03.2013 09:01
2 разных модуля на jQuery - как подключить? finder jQuery 4 23.03.2012 22:29
Селектор jquery sadavod jQuery 4 02.04.2010 16:36
jQuery jTreeMenu plugin Seafnox jQuery 9 12.01.2010 21:55
JQuery + FireFox NOOB jQuery 4 02.11.2009 18:16