Вы должны определить статику в файле cpp
.
Log.cpp
#include "Log.h"
#include <ostream>
string Log::theString; // <---- define static here
void Log::method(string arg){
theString = "hola";
cout << theString << endl;
}
Вы также должны удалить using namespace std;
из заголовка. Входите в привычку, пока можете. Это будет загрязнять глобальное пространство имен с помощью std
, где бы вы не включили заголовок.
Я думаю, тебе следует удалить «li a», и это работает. Ниже приведен код
var linktext1= jQuery(".selected").next().text();
alert (linktext1);
Вот пример jsfiddle
Строка селектора, переданная в .next
, отфильтрует следующий элемент, если он не соответствует строке селектора. Но следующий элемент - это li
, а не a
, поэтому .next('li a')
не будет работать.
Вместо этого используйте .next("li").find('a')
:
var linktext1 = jQuery(".selected").next("li").find('a').text();
console.log(linktext1);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li class="abc selected"><a href="www.test.com">test</a> </li>
<li class="abc"><a href="www.test1.com">test1</a> </li>
<li class="abc"><a href="www.test2.com">test2</a> </li>
</ul>
В этой конкретной ситуации, тем не менее, нет необходимости селектор li
для перехода на .next
, потому что .selected
будет li
, поэтому любой из его братьев и сестер также будет li
с:
var linktext1 = jQuery(".selected").next().find('a').text();
console.log(linktext1);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li class="abc selected"><a href="www.test.com">test</a> </li>
<li class="abc"><a href="www.test1.com">test1</a> </li>
<li class="abc"><a href="www.test2.com">test2</a> </li>
</ul>