Я пытаюсь получить значение href от привязки. Код похож на это
var html = "File;";
alert(jQuery("a",html).attr("href"));
Единственный вывод, который я получаю, 'не определен'. Я, хотят получить "http://path/to/file.pdf".
Любая справка значительно ценится.
Попробуйте:
jQuery(html).attr('href');
Или, если тег
глубже в html, чем ваш пример:
jQuery(html).find('a').attr('href');
Функция jQuery ()
преобразует строки HTML в DOM объекты и верните объект jQuery, содержащий их для вас.
Чтобы объяснить, почему ваш метод не работает - когда вы выполняете jQuery ("a", html)
, вы ищите элементы внутри контекста элемента хранится в HTML.
Единственное, что сейчас внутри, - это текст файла. Если ваша строка, например, была обернута в div, она сработает.
Я полагаю, у вас есть другая причина для создания объекта jQuery. Если нет, и вам не нужны дополнительные накладные расходы, вы можете использовать регулярное выражение.
Пример: http://jsfiddle.net/e3Gyc/
var html = "<a href='http://path/to/file.pdf'>File</a>";
var result = html.match(/href='([^']+)'/)[1];
В противном случае ответы, которые дали gnarf и Dzida , превосходны.
Ваш код должен выглядеть так, чтобы он работал так, как вы хотите:
var html = "<a href='http://path/to/file.pdf'>File</a>";
alert($(html).attr("href"))