2016-01-29 3 views
0

Я использую HTTP-референт, чтобы получить строку текста и совместить с текстом alt изображения, если он совпадает, класс из образа удаляется. Проблема, с которой я столкнулась, заключается в том, что это не работает для множественных чисел, например, если строка является, например, картами и альтер-текстовой идентификационной картой, класс не удаляется, а должен. Ниже приведен код им с помощью:Динамическая плюрализация с помощью jQuery

Jquery:

$('div.bcbox img').attr('alt', function(index, value){ 
    return value.toLowerCase(); 
}); 

$("div.bcbox img[alt*='<?php echo str_replace('+', ' ', strtolower($whatIWant)) ?>']").removeClass("bccustom"); 

PHP:

session_start(); 
if (!isset($_SESSION["origURL"])){ 
    $_SESSION["origURL"] = $_SERVER["HTTP_REFERER"]; 
} 
$mysearchterm = $_SERVER["HTTP_REFERER"]; 
$whatIWant = substr($mysearchterm, strpos($mysearchterm, "=") +1);  
$whatIWant = str_replace('+', ' ', strtolower($whatIWant)); 
$querystr = $_SERVER["HTTP_REFERER"]; 

Вот link на скрипку с рабочим примером: когда альтернативный текст в единственном числе, JQuery, что img[alt*='menus'] перестает работать для изображения с необычным текстом alt

+0

Можете ли вы дать полный пример с RENDERED HTML и сообщите нам, если вам нужно исправить php, jQuery или оба – mplungjan

+0

@mplungjan добавили ссылку на скрипку, и мне нужно исправить jQuery, чтобы он работал как для сингулярных, так и для множественных слов – user38208

ответ

0

Я думаю, вы хотите:

Fiddle

var word = "menu" 
$("div.bcbox img").each(function() { 
    if (this.alt.toLowerCase().indexOf(word) !=-1) {  
    $(this).removeClass("bccustom"); 
    } 
}); 

Старая версия:

Fiddle

$('div.bcbox img').attr('alt', function(index, value){ 
    var val = value.toLowerCase(); 
    return (val.charAt(val.length-1)=="s")?val.slice(0,-1): val; 
}); 

Теперь меню удалит меню и меню

$("div.bcbox img[alt*='menu']").removeClass("bccustom"); 
+0

в соответствии с ваша скрипка, она не работает, так как класс bccustom должен быть удален. – user38208

+0

Пожалуйста, см. обновление – mplungjan

+0

в обеих скрипках. если я меняю слово на меню, он перестает работать. Я должен работать как для сингулярных, так и для множественных чисел – user38208

Смежные вопросы