На основании ответа Имрана Раны здесь приведен общий метод многократного использования, если вам нужно применить StyleSpan
s к нескольким TextView
s, с поддержкой нескольких языков (где индексы являются переменными):
void setTextWithSpan(TextView textView, String text, String spanText, StyleSpan style) {
SpannableStringBuilder sb = new SpannableStringBuilder(text);
int start = text.indexOf(spanText);
int end = start + spanText.length();
sb.setSpan(style, start, end, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(sb);
}
Используйте его в Activity
следующим образом:
@Override
protected void onCreate(Bundle savedInstanceState) {
// ...
StyleSpan boldStyle = new StyleSpan(Typeface.BOLD);
setTextWithSpan((TextView) findViewById(R.id.welcome_text),
getString(R.string.welcome_text),
getString(R.string.welcome_text_bold),
boldStyle);
// ...
}
strings.xml
<string name="welcome_text">Welcome to CompanyName</string>
<string name="welcome_text_bold">CompanyName</string>
Результат:
Добро пожаловать в CompanyName
Вам нужно использовать $(this).parents('.job')
, поскольку оба элемента являются дочерними элементами <div class="job">
, и вы хотите показать только тот, который вы нажали на
$(".job_link").click(function(){
$(this).parents('.job').find(".start_hidden").show();
});
$("start_hidden").show();
изменить на
$(".start_hidden").show();
show
все элементы с классом start_hidden
, если на странице будет несколько.
– Seva Kalashnikov
13 July 2018 в 18:12
Вам не хватает класса
$(".start_hidden").show();
.job-link
является<h2>
. Возможно, вы захотите сделать$(this).closest('.job').find( ... )
. – Tyler Roper 13 July 2018 в 18:16parents('.job')
, который предположил бы работать одинаково – Seva Kalashnikov 13 July 2018 в 18:18.parents()
будет работать в этом сценарии, единственное отличие заключается в том, чтоparents()
выберет все родительские элементы, которые удовлетворяют селектору, поэтому, если бы были вложенные.job
элементы (маловероятные), вы могли бы запутаться.closest()
обычно немного безопаснее, когда вы знаете, что вам нужен только элемент one i> :) В любом случае, хороший ответ. +1 – Tyler Roper 13 July 2018 в 18:20