удалить пробелы и разрывы строк внутри тегов привязки, присутствующих в коллекции строк

0

С прошлой пары дней я пытался решить эту проблему, так как у меня есть сборка строк, которая содержит множество тегов привязки. Я хочу выбрать те привязные теги, которые попадают под конкретный раздел комментариев, теперь, что я сделал, я сломал всю строку коллекции от "\n". И у меня есть коллекция массивов, и я читаю массив и выбираю теги привязки, он работает плавно, но для некоторой коллекции строк создается такая проблема, как я обнаружил, что некоторые якорные теги имеют пробелы и разрывы строк внутри него, как показано ниже.

<a target="_blank" href="http://www.home.test.com/test/redirector.jspx?                   
action=ref&cname=test_EDITORIAL&ckey     =2421515&cc=US&lc=eng&cmpid=MA43304BL"      
style="font-weight:bold;text-decoration:none;color:        
                                          #0085d5">application note</a> 

поскольку я сломал всю коллекцию строк "\n", поэтому вышеупомянутый тег привязки теперь входит в два отдельных массива, поэтому он не находит закрывающий тег привязки. Я хочу сделать этот якорный тэг, как без пробелов и разрывов строк внутри него, как показано ниже...

<a target="_blank" href="http://www.home.test.com/test/redirector.jspx?                   
action=ref&cname=test_EDITORIAL&ckey=2421515&cc=US&lc=eng&cmpid=MA43304BL"      
style="font-weight:bold;text-decoration:none;color:#0085d5">application note</a>         

Есть ли способ удалить пробелы и разрывы строк внутри тега привязки и снова добавить его в коллекцию строк, чтобы я мог читать привязывающие теги и подбирать их. Вы не можете полагаться на родительские или дочерние элементы как свою коллекцию строк,

  • 0
    Разбивает ли коллекцию строк с помощью \ n, если перед ней не указана опция ":"?
  • 0
    У вас есть пример JSFiddle? Это трудно понять.
Показать ещё 6 комментариев
Теги:

4 ответа

0
Лучший ответ

Пытаться

$("a").each(function (i, el) {
    var r = /\s+|\r+|\n+|\t+/g;
    $(el).eq(i).attr({
        "href": $(el).attr("href").replace(r, ""),
        "style": $(el).attr("style").replace(r, "")
    });
});

jsfiddle http://jsfiddle.net/guest271314/mt8YU/

  • 0
    Если я хочу удалить пробелы и linebrek внутри href только тогда приведенный выше код будет работать или нет .... Если нет, то пожалуйста помогите .. :)
  • 0
    @win Если требуется только атрибут href, можно удалить свойство style в .attr (). Пожалуйста, проверьте консоль по ссылке jsfiddle, чтобы увидеть результат работы? Требуется ли только атрибут href или атрибут style? Смотрите обновленный пост. Спасибо -
Показать ещё 2 комментария
0

попробуйте .replace(/^\s+|\s+$/g, ''); строку с .replace(/^\s+|\s+$/g, '');

0

Попробуйте использовать это:

var value = $("a").attr('href');
var strip = value.replace(/ /g, '');
$( "a" ).attr( "href", strip );

Вот пример JSFIDDLE.

0

Попробуйте выполнить цикл и зафиксировать строку в целом:

var inside = 0
for(var i = 0; i < string.length; i++){
    if(string.charAt(i) == '<' || (string.charAt(i) == '"' && inside != 2)) inside++;
    else if(string.charAt(i) == '>' || (string.charAt(i) == '"' && inside == 2)) inside--;
    if((string.charAt(i) == '\n' || string.charAt(i) == ' ') && inside == 2){
        string = string.substr(0, i) + string.substr(i + 1);
        i--;
    }
}
  • 0
    $ (FilterText) .find ('a'). each (function () {// FilterText - это моя коллекция строк .---- var c = this.href; var l = c.replace (/ ^ \ s + | \ s + $ / g, ''); alert (ll); // в предупреждении я должен получить URL-адреса без пробелов и переносов строк, но я не получаю. У вас есть какие-либо идеи по этому поводу.})
  • 0
    Ответ выше работает, если вы дадите ему строку.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню