как применить выбор элемента jQuery к строковой переменной

Я имею некоторый HTML, извлеченный к строковому var, и хочу затем использовать выбор элемента jQuery только на той строке. Действительно ли это возможно?

Например:

HTML:

<div class=message>
  This is a message. Click <a class=link id=link1 href=example.com>here</a>
</div>

jQuery:

$('div.message').each(function(i, item) {
  myHtml = $(this).html();
  //select <a> tag attributes here
)};

Таким образом в этом примере, я хочу извлечь id и href от <a> тег в myHtml.

Спасибо

6
задан user191688 11 March 2010 в 00:24
поделиться

4 ответа

Если я правильно понимаю, у вас есть HTML-код в строковой переменной, и вы хотите запросить в ней?

// Suppose you have your HTML in a variable str
var str = '<div class="message">This is a message. Click '
        + '<a class="link" id="link1" href="example.com">here</a></div>​​​​​​​​​​​​​​​';

// You query the DOM fragment created by passing the string to jQuery function.
// $(<string>) - creates a DOM fragment (string must contain HTML)
var anchor = $('a', $(str));

// Then you can retrieve individual properties and/or contents:
var id = anchor.attr('id');
var href = anchor.attr('href');
var text = anchor.text();
10
ответ дан 10 December 2019 в 00:36
поделиться

Если вам нужно обработать несколько элементов в своей структуре, вы можете сделать это

$('div.message').each(function(i, item) { 
  // find desendant of the item using "find"
  var alink = $(this).find('a.link');
  // Process the item
  var id = alink.attr('id'); 
  var href = alink.attr('href'); 
)}; 
0
ответ дан 10 December 2019 в 00:36
поделиться

Существует плагин jQuery ( здесь ), который можно использовать для синтаксического анализа строка как XML DOM, а затем используйте jQuery для ее запроса. Это должен быть XML, а не «расслабленный» вид XML, который вы иногда видите в HTML (т.е. вам нужны кавычки вокруг значений атрибутов).

0
ответ дан 10 December 2019 в 00:36
поделиться

Вы можете сделать что-то вроде:

var aID = $('div.message a.link').attr('id');
var aHREF = $('div.message a.link').attr('href');
0
ответ дан 10 December 2019 в 00:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: