добавить / добавить значение alt динамически? - PullRequest
0 голосов
/ 03 февраля 2012

Вопрос новичка (возможно, глупый): как я могу использовать значение «alt» в приведенном ниже коде, чтобы добавить / добавить его в «img» (между конечными тегами «img» и «a»)? Я не смог найти примеров где-либо еще, кроме как добавить / добавить жестко закодированный текст, но я хочу, чтобы это делалось динамически.

$html .= '<a href="#imgshow" data-transition="pop" data-index="'.$i.'" data-rel="dialog" id="thumb">
        <img src="https://[someurl]/'.rawurlencode($this->_decode_path($xml->COM->MOVIE[$i]->attributes()->dbIcoFilename)).'" alt="'.$xml->COM->MOVIE[$i]->attributes()->nameS.'">
        </img></a>'

Ответы [ 4 ]

1 голос
/ 03 февраля 2012

jQuery для всех img с классом afteralt css (коды php и jQuery);

PHP;

$html .= '<a href="#imgshow" data-transition="pop" data-index="'.$i.'" data-rel="dialog" id="thumb">
        <img src="https://[someurl]/'.rawurlencode($this->_decode_path($xml->COM->MOVIE[$i]->attributes()->dbIcoFilename)).'" alt="'.$xml->COM->MOVIE[$i]->attributes()->nameS.'" class='afteralt'>
        </img></a>'

JQuery:

$.each($("img.afteralt"), function() { 
  $(this).after($(this).attr("alt"));
});
0 голосов
/ 03 февраля 2012

JQuery код

$('a#thumb').html($('a#thumb').html()+$('a#thumb').children('img').attr('alt'))
0 голосов
/ 03 февраля 2012

Перебирайте данные, сначала найдите полезные данные, а затем скомпилируйте вывод по мере необходимости. Вы можете использовать данные везде, где хотите:

$html = '';
foreach ($xml->COM->MOVIE as $i => $movie)
{
    $url = 'https://[someurl]/'.rawurlencode($this->_decode_path($movie->attributes()->dbIcoFilename));
    $alt = $movie->attributes()->nameS;
    $html .= sprintf(
    '<a href="#imgshow" data-transition="pop" data-index="%d" data-rel="dialog" id="thumb">
        <img src="%s" alt="%3$s">
        </img>%3$s</a>'
        , $i, $url, htmlspecialchars($alt)
    );
}

В этом примере сначала данные извлекаются внутри foreach. Затем он компилируется в выходную строку с sprintf. Эта функция является обычной и полезной для подстановки переменных в шаблон, например, для повторного использования того же значения в строке по числовому параметру (здесь: 3 в %3$s, s для строки, d для цифры).

0 голосов
/ 03 февраля 2012
$html .= '<a href="#imgshow" data-transition="pop" data-index="'.$i.'" data-rel="dialog" id="thumb">
        <img src="https://[someurl]/'.rawurlencode($this->_decode_path($xml->COM->MOVIE[$i]->attributes()->dbIcoFilename)).'" alt="'.$xml->COM->MOVIE[$i]->attributes()->nameS.'">
        </img>'.$xml->COM->MOVIE[$i]->attributes()->nameS.'</a>'

обратите внимание, что вы должны писать <img />, а не <img></img> (косая черта запрашивается только с использованием xhtml), поэтому правильный код должен быть

$html .= '<a href="#imgshow" data-transition="pop" data-index="'.$i.'" data-rel="dialog" id="thumb">
         <img src="https://[someurl]/'.rawurlencode($this->_decode_path($xml->COM->MOVIE[$i]->attributes()->dbIcoFilename)).'" alt="'.$xml->COM->MOVIE[$i]->attributes()->nameS.'" />'.$xml->COM->MOVIE[$i]->attributes()->nameS.'</a>'
...