Попробуйте *=
. Который ищет совпадение в любом месте значения атрибута класса.
Ваш текущий селектор, ^=
, пытается найти соответствие в начале значения атрибута класса.
См .: Селекторы атрибутов - MDN
$('.box2').addClass(function() {
return 'list_' + $('.box1 li').length;
});
div[class*="list_"] {
color: red;
}
- a
- b
- c
text
[1116 ] Как отметили другие в комментариях, селекторы атрибутов могут быть скользкими в зависимости от того, как они реализованы. В этом случае, как упомянул @Pointy, вы можете добавить два класса. Один для подсчета и один для отметки того, что он изменился. Вы также можете добавить атрибут data-
вместо класса. Нечто подобное data-list-count
. Тогда ваш селектор будет [data-list-count]
.
$_SESSION is a server-side construct. You would need to store that variable in $_COOKIE to be able to access it client-side.
A very simple way is to generate the JavaScript with some PHP code:
<script type="text/javascript">
<?php echo 'var msg = "'.json_encode($_SESSION['msg']).'";';
</script>
.. Or you can use ajax to retrive your server side session value into you client-side javascript.` (quick, dirty and untested example, using jQuery)
Javascript Side:
$.ajax({
url: "test.php",
cache: false,
success: function(html){
eval( html ); /// UGLY NASTY YOU MUST VALIDATE YOUR INPUTS... JUST AN EXAMPLE
}
});
PHP side test.php:
echo 'var myData = "'. $_SESSION['msg'].'"';